gpt4 book ai didi

Apache:在所有虚拟主机上启用维护模式

转载 作者:行者123 更新时间:2023-12-04 22:12:42 25 4
gpt4 key购买 nike

我有一个运行 Apache 的服务器和几个 VirtualHost,例如domain1.example1.com domain2.example1.com 等。所有这些 webapps 都是相关的。应用程序更新时;我想同时在 apache 中为所有 VirtualHosts 启用维护模式,重定向到一个集中的维护页面。现在我有我的虚拟主机配置之一:

<VirtualHost *>
ServerAdmin admin@website.com
DocumentRoot /var/www/website
ServerName website.com
ServerAlias www.website.com

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{REQUEST_FILENAME} !/maintenance.html
RewriteRule ^.*$ /maintenance.html [L]
</VirtualHost>

理想情况下,我想通过在服务器上的某处重命名一个文件来启用该模式,例如
mv /app/system/maintenance.disabled /app/system/maintenance.html

这样的事情是否可能,或者只能为每个 VirtualHost 单独配置?

最佳答案

创建一个名为 maintenance.conf 的文件里面有以下内容:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{REQUEST_FILENAME} !/maintenance.html
RewriteRule ^.*$ /maintenance.html [L]

然后设置你的虚拟主机,如:
<VirtualHost *>
ServerAdmin admin@website.com
DocumentRoot /var/www/website
ServerName website.com
ServerAlias www.website.com

Include conf/maintenance.conf
</VirtualHost>

然后,当您要启用维护模式时,只需取消注释 maintenance.conf 中的那些行并重新启动apache。

或者,您可以制作 maintenace.conf.disabledmaintenace.conf.enabled .然后为 maintenance.conf 创建一个符号链接(symbolic link)指向文件的启用或禁用版本并退回 apache。

您甚至可以将其封装在脚本中。一个叫 enabled-maintence-mode.shdisable-maintenance-mode.sh这将分别删除和创建符号链接(symbolic link)并重新启动 apache。

关于Apache:在所有虚拟主机上启用维护模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com