メンテナンスモードを有効または無効にする
次のガイドでは、標準メンテナンスモードのページについて説明します。 カスタムメンテナンスページを使用する必要がある場合は、 カスタムメンテナンスページの作成 トピック。
Adobe CommerceとMagento Open Sourceの使用 メンテナンスモード ブートストラップを無効にする。 サイトの保守、アップグレード、再設定を行う際には、ブートストラップを無効にすると便利です。
アプリケーションは、次のようにメンテナンスモードを検出します。
-
次の場合
var/.maintenance.flag
が存在しない場合、メンテナンスモードはオフになり、アプリケーションは正常に動作します。 -
それ以外の場合は、メンテナンスモードがオンになります ( ただし、
var/.maintenance.ip
が存在します。var/.maintenance.ip
には、IP アドレスのリストを含めることができます。 HTTP を使用してエントリポイントにアクセスし、そのリストのエントリの 1 つに対応するクライアント IP アドレスがある場合、メンテナンスモードはオフになります。
アプリケーションのインストール
このコマンドを使用してメンテナンスモードを有効または無効にする前に、 アプリケーションのインストール.
メンテナンスモードを有効または無効にする
以下を使用します。 magento maintenance
メンテナンスモードを有効または無効にする CLI コマンド。
コマンドの使用:
bin/magento maintenance:enable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:disable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
bin/magento maintenance:status
The --ip=<ip address>
オプションは、メンテナンスモードを除外する IP アドレスです(例えば、メンテナンスをおこなう開発者)。 同じコマンドで複数の IP アドレスを除外するには、オプションを複数回使用します。
--ip=<ip address>
次を使用 magento maintenance:disable
後で使用するために IP のリストを保存します。 免除 IP のリストをクリアするには、次を使用します。 magento maintenance:enable --ip=none
または、 免除 IP アドレスの一覧を管理します.The bin/magento maintenance:status
コマンドは、メンテナンスモードのステータスを表示します。
例えば、IP アドレスの除外を含まないメンテナンスモードを有効にするには、次のように指定します。
bin/magento maintenance:enable
192.0.2.10 および 192.0.2.11 を除くすべてのクライアントのメンテナンスモードを有効にするには:
bin/magento maintenance:enable --ip=192.0.2.10 --ip=192.0.2.11
アプリケーションをメンテナンスモードにした後、すべてのメッセージキューコンシューマープロセスを停止する必要があります。
これらのプロセスを見つける方法の 1 つは、 ps -ef | grep queue:consumers:start
コマンドを実行し、次に kill <process_id>
コマンドを使用します。 複数のノード環境で、各ノードでこのタスクを繰り返します。
免除 IP アドレスの一覧を管理します
免除 IP アドレスのリストを管理するには、 [--ip=<ip list>]
オプションを使用するか、次の操作を行うことができます。
bin/magento maintenance:allow-ips <ip address> .. <ip address> [--none]
The <ip address> .. <ip address>
構文は、除外する IP アドレスのスペース区切りリスト(オプション)です。
The --none
オプションを指定すると、リストが消去されます。
マルチストアの設定
複数のストアを設定する場合は、それぞれ異なるレイアウトとローカライズされたコンテンツを持つストアを設定するには、 $_GET['skin']
パラメータを指定します。
次の例では、 503
エラーテンプレートファイルを入力します。コンテンツのローカライズが必要です。
のコンストラクター Error_Processor
クラスは skin
GETパラメーターを使用してレイアウトを変更します。
if (isset($_GET['skin'])) {
$this->_setSkin($_GET['skin']);
}
これは、 .htaccess
を追加するファイル skin
パラメーターを URL に設定します。
$_GET['スキン'] パラメーター
次の手順で skin
パラメーター:
-
をチェックします。
.maintenance.flag
が存在します。 -
ホストアドレス (
HTTP_HOST
、または ENV 変数などの他の変数。 -
をチェックします。
skin
パラメーターが存在します。 -
以下の書き換えルールを使用して、パラメーターを設定します。
次に、書き換えルールの例を示します。
- RewriteCond
%{DOCUMENT_ROOT}/var/.maintenance.flag -f
- RewriteCond
%{HTTP_HOST} ^sub.example.com$
- RewriteCond
%{QUERY_STRING} !(^|&)skin=sub(&|$)
[NC] - RewriteRule
^ %{REQUEST_URI}?skin=sub
[L]
- RewriteCond
-
次のファイルをコピーします。
pub/errors/default/503.phtml
からpub/errors/sub/503.phtml
pub/errors/default/css/styles.css
からpub/errors/sub/styles.css
-
これらのファイルを編集して、
503.phtml
でのファイルとカスタムスタイル設定styles.css
ファイル。パスが
errors
ディレクトリ。 ディレクトリ名は、RewriteRule
. 前の例では、sub
ディレクトリが使用されます。これは、RewriteRule
(skin=sub
)