Я выполняю Apache с довольно пользовательской конфигурацией.
Я заметил это service apache2 start
и systemctl start apache2.service
не работайте, в то время как apache2ctl start
хорошо работает.
Сообщение об ошибке от systemctl status apache2.service
"apache2 экземпляр, не запускался в течение 20 секунд". но я вполне уверен, это делает, когда я использую apache2ctl. Странно процесс Apache запускается после ошибки и веб-сайта хорошо работает. Я просто не могу использовать команды снова, чтобы остановить или перезагрузить...
Как я могу отладить, почему первые два не работают? Как они определяют, запустился ли Apache?
У моего apache2.conf была строка
PidFile /var/run/httpd2.pid
, но Ubuntu 16.04 ожидает, что файл pid будет иметь вид /var/run/apache2/apache2.pid
.
Итак, мой Apache запустился хорошо, но функция apache_wait_start () из /etc/init.d/apache2
, которая используется в service apache2 start
, никогда не видела файл pid и думала, что процесс не запустился.
apache2ctl
явно не проверяет, есть ли pid-файл (или, возможно, читает apache2.conf, где он находится).
После исправления имени файла все теперь работает хорошо.