简而言之:
- 运行生产网络服务器
- 星期二:更改了配置(更改有误,语法错误)但故意没有重新启动 apache
- apache 今天在@cron.daily 时间自行重启或重新加载配置
- Apache 宕机了
为什么 apache 会自动重新启动或重新加载配置?
长版本
在我的 debian lenny 稳定服务器上,它具有相当默认的设置(apache2、mod_php、mysql 客户端、apc……),我对 apc.ini 进行了更改,但我不确定它是否有故障,因为它是一个生产服务器,我只是保存了文件而无需重新启动 Web 服务器。
今天@cron.daily 时间 (6:25),服务器重新启动,并由于 apc.ini 错误而处于停机状态。我真的想知道,为什么服务器会重新启动。为什么是今天?这是 cron.daily 时间,而不是每周时间,错误的配置自周二以来一直在线。
crontab:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
cron.daily内容:
apache2
apt
aptitude
bsdmainutils
logrotate
man-db
standard
cron.weekly 内容:
man-db
有任何想法吗?
编辑:根据所选答案添加 logrotate 标签
答案1
cron 运行 logrotate,logrotate 重新加载 Apache:
/var/log/apache2/*.log {
........
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}
答案2
也许我错了,我不确定,但我认为当 apache 网络服务器崩溃时,init.d 会自动重新启动它,这也取决于 apache 的环境和配置(例如,您使用的操作系统或 Linux 发行版)