
Я установил Apache 2 на Ubuntu 12.10. Когда я пытаюсь запустить службу с помощью sudo /etc/init.d/apache2 start
, я получаю следующее сообщение.
*Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information. [fail]
решение1
Вполне возможно, что у вас уже что-то запущено на этом порту (или "привязано к нему"). Попробуйте эту команду, чтобы увидеть рассматриваемые процессы:
sudo lsof -i :80
Здесь перечислены процессы, прослушивающие порт 80. Как только вы нашли виновника, вы знаете, какой процесс следует удалить kill
( kill -9
также как суперпользователь).
Имейте в виду, что экземпляр Apache, если вы запустили его раньше, мог стать "устаревшим" или превратиться в зомби. В последнем случае в некоторых случаях может потребоваться даже перезагрузка.
В противном случае воспользуйтесь ответом dedunumax.
решение2
Пытатьсяsudo service apache2 start
затем введите
sudo service apache2 status
вторая команда покажет, запущена она или нет.
решение3
Я получил это сообщение об ошибке при следующей конфигурации:
# cat /etc/hosts
127.0.0.1 localhost
127.0.0.1 foo
...
# cat /etc/apache2/sites-enabled/foo
<VirtualHost foo:80>
...
# cat /etc/apache2/ports.conf
...
NameVirtualHost *:80
Listen localhost:80
...
Изменение ports.conf
на следующее решило проблему:
NameVirtualHost *:80
Listen 127.0.0.1:80
решение4
Возможно, запущено какое-то другое программное обеспечение, например Nginx, которое использует порт 80.
Apache2 рухнул на моем VPS с тем же сообщением об ошибке, и я обнаружил, что Nginx присутствовал на сервере и что-то (задание cron?) запустило его несколько дней спустя. Это провоцирует конфликт, так как он использует порт :80 и каким-то образом имеет приоритет над Apache2.
Чтобы проверить, использует ли уже что-либо порт :80, введите:
netstat -tulpn
Я решил эту проблему, удалив Nginx (с помощью «remove --purge»), остановив процесс nginx и перезапустив Apache2.