デプロイメントフロー
Commerce 実稼動デプロイメントフローは、ストアが最大パフォーマンスに到達するのに役立ちます。
依存関係のインストール
composer.json
ファイルと composer.lock
ファイルは、Commerce の依存関係を管理し、各パッケージの適切なバージョンをインストールします。 autoloader を更新する場合は、 依存関係の挿入手順を前処理の前に依存関係をインストールする必要があります。
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
コマンドはバックグラウンドで実行されるので、特定の手順ごとに追加のオプションを設定することはできません。
その他のローンチ前のアクション
これらの手順は推奨されますが、必須ではありません。 実稼動モードでストアを起動する直前に実行できます。 リストには、次が含まれます。
- インデックスに一貫性のないデータが存在しないように、データのインデックスを再作成します。
- キャッシュをフラッシュして、古いデータや間違ったデータがキャッシュに残らないようにします。
- 最も人気のあるまたは重要なストアページを事前に呼び出すキャッシュをウォームアップして、それらのキャッシュが生成および保存されます。 この操作は、任意のインターネットクローラーで、または小さな店舗がある場合は手動で実行できます。