[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
启用或禁用维护模式
以下指南参考了标准维护模式页面。 如果需要使用自定义维护页面,请参阅创建自定义维护页面主题。
Adobe Commerce使用维护模式禁用引导。 在维护、升级或重新配置站点时,禁用引导很有用。
应用程序检测维护模式,如下所示:
- 如果存在
var/.maintenance.flag,则维护模式为开启,应用程序将返回503维护页面。 - 如果存在
var/.maintenance.ip,并且客户端IP对应于此文件中的某个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
--ip=<ip address>选项是免除维护模式的IP地址(例如,执行维护的开发人员)。 要在同一命令中免除多个IP地址,请多次使用选项。
--ip=<ip address>与magento maintenance:disable一起使用可保存IP列表以供将来使用。 要清除免除IP列表,请使用magento maintenance:enable --ip=none或参阅维护免除IP地址列表。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
将应用程序置于维护模式后,必须停止所有消息队列使用者进程。
查找这些进程的一种方法是运行ps -ef | grep queue:consumers:start命令,然后为每个使用者运行kill <process_id>命令。 在多节点环境中,对每个节点重复此任务。
维护免除IP地址列表
要维护免除IP地址列表,您可以使用上述命令中的[--ip=<ip list>]选项,也可以使用以下命令:
bin/magento maintenance:allow-ips <ip address> .. <ip address> [--none]
<ip address> .. <ip address>语法是要免除的IP地址的可选空格分隔列表。
--none选项清除列表。
多存储设置
如果要设置多个商店,每个商店具有不同的布局和本地化内容,请将$_GET['skin']参数传递给目标处理器。
在以下示例中,我们使用的是503类型错误模板文件,该文件需要本地化的内容。
Error_Processor类的构造函数接受skin GET参数以更改布局:
if (isset($_GET['skin'])) {
$this->_setSkin($_GET['skin']);
}
这还可以添加到.htaccess文件中的重写规则,该规则会将skin参数附加到URL。
$_GET['skin']参数
要使用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] - 重写规则
^ %{REQUEST_URI}?skin=sub[L]
- RewriteCond
-
复制以下文件:
pub/errors/default/503.phtml至pub/errors/sub/503.phtmlpub/errors/default/css/styles.css至pub/errors/sub/styles.css
-
编辑这些文件以在
503.phtml文件中提供本地化内容并在styles.css文件中提供自定义样式。确保您的路径指向
errors目录。 目录名称必须与RewriteRule中指示的URL参数匹配。 在上一个示例中,使用了sub目录,该目录被指定为RewriteRule(skin=sub)中的参数