デプロイメントフロー
実稼動デプロイメントフローCommerceは、ストアのパフォーマンスを最大化するのに役立ちます。
依存関係のインストール
composer.jsonおよびcomposer.lock ファイルはCommerceの依存関係を管理し、各パッケージに適切なバージョンをインストールします。 オートローダーを更新する予定がある場合は、依存関係インジェクション手順の前処理前に依存関係をインストールする必要があります。
Commerce依存関係をインストールするには:
composer install --no-dev
依存関係インジェクションの前処理の指示
依存関係インジェクション(DI)命令を前処理してコンパイルする場合、Magentoは次の操作を行います。
- 現在のすべての設定を読み取り、処理します
- クラス間の依存関係を分析します
- 自動生成ファイル(プロキシ、ファクトリなど)を作成します。
- コンパイルされたデータと設定をキャッシュに保存し、リクエスト処理にかかる時間を最大25%節約します
Di命令を前処理してコンパイルするには、次の手順を実行します。
bin/magento setup:di:compile
オートローダーを更新する
コンパイルが完了したら、APCuが有効になっていることを確認し オートローダーを更新します。
オートローダーを更新するには:
-o オプションを使用すると、PSR-0/4のオートローディングをクラスマップに変換して、より高速なオートローダを取得できます。 --apcu オプションは、APCuを使用して、見つかった/見つからないクラスをキャッシュします。composer dump-autoload -o --apcu
オートローダーを更新する場合は、次のコマンドを順番に実行する必要があります。
composer install --no-dev
bin/magento setup:di:compile
composer dump-autoload -o
bin/magento setup:static-content:deploy
静的コンテンツのデプロイ
静的コンテンツをデプロイすると、Commerceは次のアクションを実行します。
- すべての静的リソースを分析する
- コンテンツの結合、最小化、バンドルを実行
- テーマデータの読み取りと処理
- テーマのフォールバックを分析
- 処理およびマテリアライズされたすべてのコンテンツを特定のフォルダーに保存して、さらに使用します
静的コンテンツがデプロイされていない場合、Commerceはすべてのリストされた操作を即座に実行するため、応答時間が大幅に増加します。
ストアの規模やフルフィルメントのニーズにもとづいて、デプロイメントの運用をカスタマイズするためのさまざまなオプションを利用できます。 最も一般的なのは、コンパクトなデプロイ戦略です。 静的ファイルの展開戦略を参照してください
静的コンテンツをデプロイするには:
bin/magento setup:static-content:deploy
このコマンドを使用すると、プロジェクト ファイルの読み込みが速くなるように、Composerでプロジェクト ファイルへのマッピングを再構築できます。
実稼動モードの設定
setup:di:compileとsetup:static-content:deployが自動的に実行されます。最後に、実稼動モードでストアを配置する必要があります。 実稼動モードは、ストアのパフォーマンスを最大限に高めるために特に最適化されています。 また、開発者固有の機能をすべて無効にします。 これは、.htaccessまたはnginx.conf ファイルで実行できます。
SetEnv MAGE_MODE production
静的コンテンツをデプロイし、コンテンツをコンパイルし、1つのCLI コマンドでモードを設定することもできます。
bin/magento deploy:mode:set production
このコマンドはバックグラウンドで実行され、特定の各ステップに追加のオプションを設定することはできません。
追加のローンチ前アクション
これらの手順は推奨されますが、必須ではありません。 実稼動モードでストアを起動する直前に実行できます。 リストには次のものが含まれます。
- インデックス内に一貫性のないデータが存在しないように、データのインデックスを再作成します。
- キャッシュをフラッシュして、古いデータや誤ったデータがキャッシュに残らないようにします。
- キャッシュをウォームアップします。これにより、最も人気のあるストアページまたはクリティカルストアページが事前に呼び出され、それらのキャッシュが生成され保存されます。 この操作は、小さな店舗がある場合は、インターネットweb クローラーまたは手動で実行できます。