Я надеюсь, что кто-нибудь сможет мне срочно помочь.
Я пытался восстановить работоспособность сервера Centos.
Вчера я сделал обновление yum, которое прошло по плану, но сегодня утром я обнаружил, что httpd мертв (я предполагаю, что это logrotate).
Я могу выдать «service httpd start», и кажется, что он запускается нормально, но статус показывает «httpd мертв, но subsys заблокирована».
Я могу снять блокировку subsys и начать заново, но потом получаю:
"(98) Адрес уже используется: make_sock: не удалось привязать к адресу 0.0.0.0:80
нет доступных гнезд для прослушивания, выключение
Невозможно открыть журналы "
Затем запуск netstat -plant показывает, что httpd запущен на
tcp 0 0 0.0.0.0:80 0.0.0.0:* СЛУШАТЬ 8191 / httpd
tcp 0 0 0.0.0.0:443 0.0.0.0:* СЛУШАТЬ 8191 / httpd
Я могу удалить Listen 80 из своего httpd.conf, и это удалит первую ошибку, но затем отобразится: «(98) Адрес уже используется: make_sock: не удалось привязать к адресу 0.0.0.0:443
нет доступных гнезд для прослушивания, выключение
Невозможно открыть журналы "
В моей конфиге нет записи для 443?
Запустив также tail -f / var / log / messages, я получаю одну тревожную запись:
www kernel: httpd [8189]: segfault at 0 ip b7367c48 sp bf89f4fc error 4 в libc-2.5.so [b72f8000 + 152000]
Есть мысли, пожалуйста?
Ваш Крис
Вероятно, у вас все еще работает httpd на порте 80 и 443. Попробуйте pkill httpd; или pkill -9 httpd
Затем снова запустите netstat -plant и проверьте, пропал ли httpd на портах 80 и 443.
Теперь снова запустите apache.
Вы говорите, что в вашей конфигурации нет 443, что говорит "grep -ril 443" / etc / apache2?
Нечто подобное случилось со мной. Оказывается, httpd действительно работал все время! Очевидно сообщение «httpd мертв, но подсистема заблокирована» может ошибочно отображаться, если у вас недостаточно прав при проверке статуса службы. Переключитесь на root и посмотрите, если вы получите другое сообщение или пингует свой сервер, вы можете просто обнаружить, что он работает!
вы также можете проверить, связаны ли какие-либо процессы с 443, с помощью lsof -i tcp: 443; тогда вы можете убить процесс или найти проблемную службу.
Вероятно, есть еще один экземпляр httpd, выполните
`lsof -i :80`
и он должен показать, работает он или нет. Если он работает, выполните
kill -9 <pid>
Кроме того, вы можете проверить файл /etc/httpd/httpd.conf на наличие ошибок, так как это может привести к ошибочному запуску службы.