Страница Apache по умолчанию отображается на localhost:80 даже после "остановки" службы apache2
Я использую apache2 в Ubuntu 12.10. Когда я использую команду "service apache2 status" и она сообщает, что apache НЕ работает, веб-страница apache по умолчанию продолжает работать на порту 80 по какой-то причине. В папке, доступной для сайтов, у меня есть приложение на основе python, которое назначено на порт 80, но когда я перезагружаю и перезапускаю службу Apache2 и набираю localhost в браузере, он продолжает запускать страницу по умолчанию.
Как я могу избавиться от того, что apache2 работает на порту 80?
3 ответа
Вы можете проверить, что процесс еще не запущен, сделав что-то вроде этого:
ps aux | grep apache
если apache2 все еще работает, он покажет результаты
убить их, используя
sudo killall apache2
Вам нужно будет определить, почему процесс пошел румяным от init контроль. это может произойти, если вы используете очень загруженный сервер Apache, это будет означать, что существует некоторая проблема, связанная с производительностью, но причина этого много.
убедитесь, что не запущены другие веб-приложения, которые могут запускать apache2 или даже модифицированную версию httpd вручную с /usr/sbin/apache2 -d statment. Я сомневаюсь в этом, хотя, как вы, скорее всего, возникнут проблемы блокировки портов, особенно если оба используют стандартные порты
конечно, что говорят логи apache?
Для тех, кто попадает сюда из Google, попробуйте запустить sudo netstat -lnp проверить, какой процесс прослушивает порт 80
У меня была похожая проблема, и я обнаружил, что на самом деле это был Nginx, работающий на 80-м порту и поднимающий страницу Apache по умолчанию! Этот пост помог понять это.
Очевидно, веб-сервер apache работает. Там сценарий init.d на самом деле не такой уж умный и не проверяет, что все процессы httpd НЕ работают после того, как он выдает свою команду и возвращается в командную строку. Вы должны проверить, чтобы быть уверенным.