Ubuntu 服务器随机杀死 Apache2 - 我想我知道为什么了

Ubuntu 服务器随机杀死 Apache2 - 我想我知道为什么了

已经过去了数周甚至数月,在 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

alternatives.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

我想我终于知道为什么我的服务器突然停止工作了。但我不知道是什么原因更新替代方案代表,我从未听说过它,需要有关如何移动的建议来解决我的问题。它可以是更新 php 或停止此程序在 6:34 AM 运行,或者完全停止。

任何意见是极大的赞赏!

编辑: 最佳答案(也是唯一的答案)被标记为已接受,因为我发现我的系统正在安装更新,其中包括 php。由于证书问题,这导致系统更新了 php 版本,并且不正确地关闭了 apache 服务。我想要证书上的密码,因此使用以下命令禁用更新

dpkg-reconfigure -plow unattended-upgrades

似乎解决了我的问题。但我不确定。必须等待下一个 SIGTERM(如果有的话)。

答案1

man update-alternatives有关替代系统的描述,请参阅

这是在你的系统上运行的命令

更新替代方案 --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

我不知道为什么,但我想知道您是否启用了自动更新。如果安装了新的 php,则可能会执行此命令。

如果我没记错的话,禁用自动更新应该可以解决您的问题。否则,这可能是一个 cron 作业,但我在 Ubuntu 系统上找不到任何可以这样做的东西。

相关内容