Назад | Перейти на главную страницу

Сервер Ubuntu случайным образом убивает Apache2 - думаю, я знаю почему

Прошло несколько недель, даже месяцев, после чего мой сервер 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, если он когда-либо будет.

Видеть 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 ничего, что могло бы сделать это.