是否有可能使Apache不依赖于日志存在?
如果有一个无法打开的日志文件,apache在重新启动或者重新加载后退出。 这是一个不可思议的行为,因为在生产服务器上操作虚拟主机时需要格外小心。 它需要这样吗? 有趣的是,如果在一个虚拟主机重新加载apache语法错误只是不退出它。
例:
$ sudo /etc/init.d/httpd reload
从日志:
[Thu Jan 10 19:25:02 2013] [notice] SIGHUP received. Attempting to restart (2)No such file or directory: httpd: could not open error log file /var/www/patron/logs/error_log. Unable to open logs
和Apache不运行了:(。
你在这儿吠叫错了树。 你已经指示apache保存日志,它不能这样做,所以它保留了,因为它应该。
这里真正的问题是缺乏控制/testing。 在触摸您的生产configuration之前,在暂存环境中testing这些更改。 这样做除了无数其他人之外,还会遇到这类问题。
如果您绝对必须直接在生产服务器上修改configuration,请确保在重新加载configuration之前执行configurationtesting。 使用apachectl configtest和apachectl graceful会消除大多数(但不是全部)这种types的事故。