(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

Добрый день. Хочу вам рассказать о очередной проблеме с которой Вы можете столкнутся при работе с веб-сервером Apache.

Вебсервер Apache

Представте ситуацию, ночь, уже под утро выходного дня звонок в скайп. Звонит клиент нашего хостинга и в панике пытается обяснить что у него на сервере лег Apache и не встает. На экране появляется вот такая ошибка при попытке стартануть апач

[~]# /etc/init.d/httpd start

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

Продолжая заплевывать микрафон владелец сервера грит что проверил все лог файлы, Apache не пишет никаких ошибок. Та и с размером логов тоже все впорядке. Как Вы наверное знаете Apache не работает с файлами размером больше 2Гб и если какой-то из лог фалов превысит этот размер то веб-сервер работать не будет. В нашем случае проблема вовсе в другом, похоже что кто-то уже занял порт :80 и активно его слушает недавая Апачу заняться его делом. Сделать такую подлость способен разве что root или же сам Apache.

Посмотрим список процесов на сервере

[~]# ps auxSf | grep httpd

root 1832 0.0 0.0 61236 816 pts/3 S+ 14:49 0:00 \_ grep httpd

nobody 17950 0.0 0.9 192040 77028 ? S 14:38 0:00 /usr/local/apache/bin/httpd -k start -DSSL

Скорее всего вы увидите картину подобную этой. У моего клиента просто не полностью лег Apache и все что нужно сделать для того чтобы его поднять — это сначала добить.

[~]# kill 17950

Дальше проверим еще раз

[~]# ps auxSf | grep httpd

root 22319 0.0 0.0 61204 808 pts/0 S+ 01:03 0:00 \_ grep httpd

Ну вот и все, Apache готов к старту. Пробуем

[~]# /etc/init.d/httpd start

[~]#

Apache удачно встал.

fl-ruts.ru

3 Comments

Добавить комментарий

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>