如果我在 添加一个新的 Apache 站点/etc/apache2/sites-enabled/newsite.conf
,如何加载该新配置而不关闭当前由 Apache 托管的任何其他站点?
据我所知,sudo apachectl graceful
和都会导致所有站点短暂中断,其中sudo service apache2 restart
的sudo service apache2 reload
中断时间较短reload
。
答案1
根据最佳做法,添加新网站时请执行以下操作:
- 将配置文件放在
/etc/apache2/sites-available
示例下newsite.conf
。 - “启用”网站,运行命令:
a2ensite newsite
- 测试你的配置,运行命令
apache2ctl configtest
- 最后重新加载配置:
service apache2 reload
这不会导致其他正在运行的网站中断。您已尽一切努力避免关闭 Web 服务器。apache2ctl configtest
如果您犯了语法错误,或者您想要在配置中使用的模块尚未加载,或者您定义的 SSL 证书路径无效,系统会通知您。来自客户端的任何打开的会话都将保持打开状态。尽管您已采取所有必要步骤来避免关闭 Web 服务器,但这种情况很可能会发生,例如,如果 SSL 证书的格式不正确,遗憾的是apache2ctl configtest
无法保护您免受这种情况的影响。
希望我的回答能有所帮助!