Автоматический перезапуск сервера Apache несколько раз в день, но позже перезапуск вручную заставляет его работать каждый раз

Несколько раз (два или три раза) в день Apache автоматически выполняет плавный перезапуск и терпит неудачу. Мой сервер прослушивает порт 81. Когда я проверил его журнал, он показывает ошибку привязки порта к 80 и не может открыть журнал.

Каждый раз после сбоя мне приходилось вручную перезапускать службу, а затем она начинала работать до следующего.

Моя система - Ubuntu 16.04

Запись файлов журнала /var/log/apache2/error.log:

[Fri Apr 17 04:27:50.713641 2020] [mpm_prefork:notice] [pid 7037] AH00171: Graceful restart requested, doing restart
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
[Fri Apr 17 04:27:50.842111 2020] [mpm_prefork:alert] [pid 7037] no listening sockets available, shutting down
[Fri Apr 17 04:27:50.842117 2020] [:emerg] [pid 7037] AH00019: Unable to open logs, exiting
[Fri Apr 17 04:28:16.608563 2020] [core:warn] [pid 14789] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Fri Apr 17 04:28:16.612506 2020] [mpm_prefork:notice] [pid 14789] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations
[Fri Apr 17 04:28:16.612538 2020] [core:notice] [pid 14789] AH00094: Command line: '/usr/sbin/apache2'
[Fri Apr 17 04:28:16.993356 2020] [mpm_prefork:notice] [pid 14789] AH00169: caught SIGTERM, shutting down

1 ответ

Вам нужно выяснить, что отправляет запрос на изящный перезапуск. У меня была точно такая же ошибка и поведение, и я подумал, что это, возможно, ротация журнала, но это было не так. В моем случае это оказался «Certbot» от Let’s Encrypt.

Я переключился с использования Certbot для обновления и обновления Apache на использование простого http на Apache и Caddy перед ним для терминации SSL. Итак, мне не нужны были сертификаты Certbot/LE для Apache напрямую; однако после конфигурации Caddy Certbot не смог повторно проверить, и примерно через 30 дней после истечения срока последней проверки Certbot начал несколько раз в день пытаться обновить, сдавшись, но все еще пытаясь перезапустить Apache, что для по какой-то причине это не удалось успешно сделать, что вызвало эту проблему.

Итак, проверьте, запущен ли у вас Certbot (когда он вам больше не нужен). Вы можете отключить Certbot с информацией здесь: Как полностью удалить «certbot» из Ubuntu?

Другие вопросы по тегам