Пытаюсь перезапустить Apache и не могу сказать, перезапускается ли он - есть ли журналы для перезапуска, или если я ввожу командную строку для перезапуска, должен ли я ожидать ответа (сообщение об ошибке, подтверждение, статус и т. Д.)
Никогда не делал этого раньше и не уверен, что происходит.
Это именно то, что я печатаю, без $ / # перед ним ...
Ввод команд:
sudo apache2ctl restart
-- или --
apache2ctl restart
КОНТЕКСТ: Команды, выполняемые из корневого каталога, что означает ... "cd /"
РЕЗУЛЬТАТ: Кажется, ничего не происходит.
В зависимости от того, как Apache и syslog настроены на вашем компьютере, он может отличаться, однако при стандартной установке Debian или Ubuntu Apache 2 вы найдете журналы в /var/log/apache2/error.log
. Если он перезапускается, вы должны четко увидеть это в журналах.
Кроме того, проверка вывода ps
, особенно время начала, вы сможете определить, был ли он перезапущен.
И последнее: если вы когда-нибудь пытаетесь выяснить, успешно или не удалось выполнить команду, которую вы только что запустили, попробуйте echo $?
. Он напечатает код возврата последней команды. В 99% случаев 0 - это то, что вы там ищете.
Мой создает несколько записей [примечание] в error.log, когда я apache2ctl restart
, начиная с «[уведомление] SIGHUP получено. Попытка перезапуска» и заканчивая «Apache (список различных модулей) настроен - возобновление нормальной работы»
apache2ctl
при ошибке должен возвращать ненулевой код состояния. Вы можете быть проинформированы о сбое, введя команду запуска следующим образом:
apache2ctl start || echo 'apache2ctl failed'
Вы не должны видеть ничего, если apache2ctl
считает, что это удалось.
Если вы предпочитаете что-то более конкретное (следуя принципу «доверяй, но проверяй»), вы можете проверить, действительно ли apache запущен и прослушивает соединения с netstat
, например
netstat -anp | egrep -i 'http|apache'
Если вы видите строки, похожие на эту, значит, вы золотой:
tcp6 0 0 :::80 :::* LISTEN 1506/apache2
tcp6 0 0 :::443 :::* LISTEN 1506/apache2
Или, если вы не используете IPv6, вы увидите нечто подобное:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2341/apache2
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2341/apache2
В любом случае ключевым моментом является то, что apache2 СЛУШАЕТ входящие соединения на хорошо известных портах www (80 и, возможно, 443).
Есть несколько мест, где вы можете посмотреть, если перезапустите apache. Первый системный журнал в каталоге / var / log. Второй apache регистрируется в каталоге / var / log / apache2