几周,甚至几个月,在 logrotate 之后,我的 Apache2 服务器突然停止并且无法重新启动,主要是因为证书上的密码。但我不想删除它。
一开始我以为是因为Logrotate。但是后来,我对其进行了更好的监控并进行了一些测试,但这不是原因。
我到处搜索日志,直到今天早上,当它再次崩溃时,我发现了这个:
错误日志
[Wed Aug 03 06:34:41.322231 2016] [mpm_prefork:notice] [pid 2726] AH00169: caught SIGTERM, shutting down
[Wed Aug 03 06:34:42.301179 2016] [ssl:info] [pid 18371] AH02200: Loading certificate & private key of SSL-aware server 'aa.bb.cc:443'
系统日志
Aug 3 06:34:40 myserver php5-common: php5_invoke pdo: already enabled for apache2 SAPI
Aug 3 06:34:40 myserver php5-common: php5_invoke pdo: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-common: php5_invoke opcache: already enabled for apache2 SAPI
Aug 3 06:34:40 myserver php5-common: php5_invoke opcache: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke opcache: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke pdo_pgsql: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke json: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke pdo: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke pgsql: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-cli: php5_invoke readline: already enabled for cli SAPI
Aug 3 06:34:40 myserver php5-readline: php5_invoke readline: already enabled for apache2 SAPI
Aug 3 06:34:40 myserver php5-readline: php5_invoke readline: already enabled for cli SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke opcache: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke pdo_pgsql: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke json: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke pdo: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke pgsql: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: php5_invoke readline: already enabled for apache2 SAPI
Aug 3 06:34:41 myserver libapache2-mod-php5: apache2_invoke php5: already enabled
Aug 3 06:34:42 myserver apache2: No way to ask user for passphrase
替代品.log.1
update-alternatives 2016-08-03 06:34:40: run with --install /usr/bin/php php /usr/bin/php5 50 --slave /usr/share/man/man1/php.1.gz php.1.gz /usr/share/man/man1/php5.1.gz
我想我终于找到了为什么我的服务器突然停止工作了。但我不知道update-alternatives是做什么用的,我从未听说过它,需要关于如何移动的建议,以解决我的问题。它可以是更新 php 或停止该程序在上午 6.34 运行,或完全停止。
任何意见是极大的赞赏!
编辑: 最佳答案(并且只有一个)标记为已接受,因为我发现我的系统正在安装更新,其中包括 php.ini 文件。由于证书的原因,这让系统既有更新版本的 php 又有不当关闭 apache 服务。我想要证书上的密码,所以禁用更新
dpkg-reconfigure -plow unattended-upgrades
似乎解决了我的问题。但我不能确定.. 必须等待下一个 SIGTERM,如果有的话。