Мой веб-сервер на моем VPS, работающий на Ubuntu 16.04, внезапно неожиданно отключается. Я не изменил ничего, о чем я знаю, что могло бы вызвать такое поведение.
Я использую веб-сервер Apache, я использую letsencrypt для сертификата SSL, sslh, чтобы иметь возможность использовать ssh на порту 443 при размещении веб-службы.
Я не очень дружелюбен к системному администрированию и обслуживанию, поэтому я не знаю, где искать, чтобы узнать, что это вызывает.
Вот журнал apache:
[Sun Apr 01 12:54:01.253759 2018] [mpm_prefork:notice] [pid 21594] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2g configured -- resuming normal operations
[Sun Apr 01 12:54:01.253898 2018] [core:notice] [pid 21594] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 01 12:54:01.389638 2018] [mpm_prefork:notice] [pid 21594] AH00169: caught SIGTERM, shutting down
$ apachectl -t
Syntax OK
$ sudo apache2 -X -f /etc/apache2/apache2.conf
[Mon Apr 02 11:18:25.990636 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Mon Apr 02 11:18:25.990930 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Apr 02 11:18:25.991090 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Mon Apr 02 11:18:25.991225 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Mon Apr 02 11:18:25.991383 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Mon Apr 02 11:18:26.010130 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
[Mon Apr 02 11:18:26.010822 2018] [core:warn] [pid 30695] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
Я могу предоставить весь журнал, если вы хотите мне помочь. Просто не знаю, что может пригодиться ...
Если бы кто-нибудь был достаточно добр, чтобы указать мне направление, я был бы очень-очень благодарен.
У тебя есть конфигурация который зависит от загрузки множества переменных из другого файла, этот файл обычно называется "envvars".
По загружая apache2 напрямую, не загружая envvars в вашей среде, вы получите ошибки вы делаете.
Обратите внимание синтаксис чек хорошо когда вы используете "apachectl"но не тогда, когда вы вызываете двоичный файл напрямую. Это потому, что apachectl - это сценарий, который предварительно загружает файл envvars перед вызовом двоичного файла httpd.
Итак, если вы хотите запустить apache2 напрямую, по крайней мере, сначала сделайте это, чтобы загрузить файл envvars в свою среду (сначала убедитесь, что envvars присутствует в вашей системе, или проверьте содержимое apachectl, чтобы найти его):
. /etc/apache2/envvars