0 フォロワー

最終調整とデプロイ

ブログアプリケーションの完成間近です。デプロイ前に、いくつかの調整を行います。

1. ホームページの変更

投稿一覧ページをホームページとして使用するように変更します。アプリケーション設定を次のように変更します。

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

ヒント:PostControllerは既にindexをデフォルトアクションとして宣言しているので、アプリケーションのホームページにアクセスすると、投稿コントローラーのindexアクションによって生成された結果が表示されます。

2. スキーマキャッシングの有効化

ActiveRecordはテーブルに関するメタデータに依存して列情報を決定するため、メタデータの読み取りと解析に時間がかかります。開発段階では問題にならないかもしれませんが、本番環境で実行されるアプリケーションでは、データベーススキーマが変更されない場合、これは時間の無駄です。そのため、アプリケーション設定を次のように変更して、スキーマキャッシングを有効にする必要があります。

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

上記では、まず、デフォルトのSQLiteデータベースをキャッシングストレージとして使用するcacheコンポーネントを追加します。サーバーにAPCなどの他のキャッシング拡張機能が搭載されている場合は、それらを使用するように変更することもできます。schemaCachingDurationプロパティを3600に設定することで、解析されたデータベーススキーマデータは3600秒間キャッシュに有効な状態を保ちます。

3. デバッグモードの無効化

エントリスクリプトファイル/wwwroot/blog/index.phpから、定数YII_DEBUGを定義する行を削除します。この定数は、開発段階ではエラーが発生した際にYiiがより詳細なデバッグ情報を表示できるため便利です。しかし、アプリケーションが本番環境で実行されている場合、デバッグ情報を表示するのは良い考えではありません。スクリプトファイルの場所やファイルの内容など、機密情報が含まれている可能性があるためです。

4. アプリケーションのデプロイ

最終的なデプロイプロセスは、主にディレクトリ/wwwroot/blogをターゲットディレクトリにコピーすることを含みます。次のチェックリストは、必要なすべてのステップを示しています。

  1. Yiiが利用できない場合は、ターゲット場所にインストールします。
  2. ディレクトリ/wwwroot/blog全体をターゲット場所にコピーします。
  3. $yii変数を新しいYiiブートストラップファイルを示すように、エントリスクリプトファイルindex.phpを編集します。
  4. $yiic変数を新しいYii yiic.phpファイルに設定するように、ファイルprotected/yiic.phpを編集します。
  5. ディレクトリassetsprotected/runtimeの権限を変更して、Webサーバープロセスから書き込み可能にします。

タイプミスを見つけたり、このページの改善が必要だと考えましたか?
githubで編集する !