Совершенно неожиданно я не могу перезапустить apache на моем веб-сервере CentOS 6.8:
# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:7080
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:7080
no listening sockets available, shutting down
Unable to open logs
[FAILED]
Я пробовал кучу вещей, которые читал в Интернете, включая удаление файлов блокировки.
Решил попробовать перезагрузить сервер. После перезагрузки попытка загрузить любой из размещенных веб-сайтов приведет к ошибке «502 Bad Gateway».
# service httpd status
httpd is stopped
# service httpd start
Starting httpd: [ OK ]
# service httpd status
httpd dead but subsys locked
Несмотря на статус «мертвый», теперь я могу загружать сайты!
Иногда работает сервис httpd restart ...
# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Но в других случаях это приводит к первой ошибке выше. В этом случае я могу исправить это с помощью:
# killall -9 httpd
# service httpd start
Так что я могу обойти это, но мне действительно любопытно, что происходит, и интересно, стоит ли мне беспокоиться.
Возможно, вы дважды определили свой слушатель на этом порту в своих конфигурациях.
Слушайте *: 7080
Если вы запустите тест конфигурации Apache, он скажет, что с конфигурацией все в порядке, до тех пор, пока вы не перезапустите службу, произойдет сбой с ошибкой, аналогичной той, которую вы видите.
Также убедитесь, что ваше место ведения журнала существует, доступно для записи и есть место для записи, это сообщение в конце является подозрительным.
SSH к серверу и выполните следующее:
setenforce 0
Это отключит selinux до следующей перезагрузки.
Затем попробуйте перезагрузить Apache
service httpd restart
Если это работает, как-то включился selinux.
Чтобы отключить навсегда, перейдите по этой ссылке: