0 關注者

最後調整與部署

我們的部落格應用程式即將完成。在部署之前,我們想要做一些調整。

1. 變更首頁

我們變更為使用文章列表頁面作為首頁。我們修改應用程式組態如下,

return array(
    ......
    'defaultController'=>'post',
    ......
);

提示: 因為 PostController 已經宣告 index 為其預設動作,當我們存取應用程式的首頁時,我們會看到由文章控制器的 index 動作產生的結果。

2. 啟用 Schema 快取

因為 ActiveRecord 依賴關於資料表的 metadata 來決定欄位資訊,所以需要時間來讀取 metadata 並分析它。這在開發階段可能不是問題,但對於在生產模式下執行的應用程式來說,如果資料庫 schema 沒有變更,這完全是浪費時間。因此,我們應該透過修改應用程式組態來啟用 schema 快取,如下所示,

return array(
    ......
    'components'=>array(
        ......
        'cache'=>array(
            'class'=>'CDbCache',
        ),
        'db'=>array(
            'class'=>'system.db.CDbConnection',
            'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
            'schemaCachingDuration'=>3600,
        ),
    ),
);

在上面,我們首先加入一個 cache 組件,它使用預設的 SQLite 資料庫作為快取儲存空間。如果我們的伺服器配備了其他快取擴展,例如 APC,我們也可以變更為使用它們。我們也修改了 db 組件,將其 schemaCachingDuration 屬性設定為 3600,這表示已解析的資料庫 schema 資料可以在快取中保持有效 3600 秒。

3. 停用偵錯模式

我們修改進入點腳本檔案 /wwwroot/blog/index.php,移除定義常數 YII_DEBUG 的行。這個常數在開發階段很有用,因為它允許 Yii 在發生錯誤時顯示更多偵錯資訊。但是,當應用程式在生產模式下執行時,顯示偵錯資訊不是一個好主意,因為它可能包含敏感資訊,例如腳本檔案的位置以及檔案中的內容等等。

4. 部署應用程式

最終部署過程主要涉及將目錄 /wwwroot/blog 複製到目標目錄。以下檢查清單顯示了每個需要的步驟

  1. 如果目標位置沒有 Yii,請在目標位置安裝 Yii;
  2. 將整個目錄 /wwwroot/blog 複製到目標位置;
  3. 編輯進入點腳本檔案 index.php,將 $yii 變數指向新的 Yii 啟動引導檔案;
  4. 編輯檔案 protected/yiic.php,將 $yiic 變數設定為新的 Yii yiic.php 檔案;
  5. 變更目錄 assetsprotected/runtime 的權限,使其可由 Web 伺服器程序寫入。

發現錯字或您認為此頁面需要改進嗎?
在 github 上編輯 !