Address already in use: make_sock: could not bind to address

Address already in use: make_sock: could not bind to address и no listening sockets available, shutting down Unable to open logs — знакомые ошибки?

Эти ошибки достаточно распространенные, особенно, если это apache и nginx. Суть ошибки заключается в том, что сервис пытается открыть соединение по порту, который уже занят другим сервисом.

Итак, например, в ошибке у вас указан порт 80 или 8080. Для начала смотрим, каким сервисом открыты соединения на данному порту:

netstat -tnlp | grep 80

Вывод, например такой:

tcp     0 0 0.0.0.0:80       0.0.0.0:*               LISTEN 21591/nginx.conf

Видим, что данный порт занят nginx. Что можно сделать? Если Вы пытаетесь запустить apache, то необходимо сменить listen директиву в конфиге на другой порт. Если это уже сделано и перезапуск apache не помогает, значит, где-то в системе висят процессы apache.

Для начала отключаем и nginx и httpd:

/etc/init.d/nginx stop
/etc/init.d/httpd stop

Далее, смотрим какие процессы висят в системе:

ps aux | grep httpd и nginx

Смотрим pid всех процессов и удаляем их командой:

kill -9 PID

Можно попробовать удалить сразу все командой:

killall -9 httpd

Мануал может не помочь в абсолютно всех случаях, однако в большинстве случаев поможет.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *