Я установил 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]
Хорошо, что у вас есть что-то уже запущенное (или «привязанное») к этому порту. Попробуйте эту команду, чтобы увидеть рассматриваемые процессы:
sudo lsof -i :80
Здесь перечислены процессы, прослушивающие порт 80. После того, как вы обнаружили преступника, вы знаете, какой процесс будет выполняться с kill или kill -9 (также как суперпользователь).
Имейте в виду, что экземпляр Apache, предположив, что вы начали это раньше, возможно, стал «устаревшим» или стал зомби. В последнем случае даже перезагрузка может понадобиться в некоторых случаях.
В противном случае перейдите к ответу от dedunumax.
Попробуйте sudo service apache2 start
, затем введите
sudo service apache2 status
. Вторая команда покажет, работает ли она или нет.
Я получил это сообщение об ошибке apache со следующей конфигурацией:
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Я прокомментировал запись :: 1 и выпустил команду перезапуска apache.
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# sudo service httpd restart
Я получил это сообщение об ошибке со следующей конфигурацией:
# 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
Хорошо, что у вас есть что-то уже запущенное (или «привязанное») к этому порту. Попробуйте эту команду, чтобы увидеть рассматриваемые процессы:
sudo lsof -i :80
Здесь перечислены процессы, прослушивающие порт 80. После того, как вы обнаружили преступника, вы знаете, какой процесс будет выполняться с kill или kill -9 (также как суперпользователь).
Имейте в виду, что экземпляр Apache, предположив, что вы начали это раньше, возможно, стал «устаревшим» или стал зомби. В последнем случае даже перезагрузка может понадобиться в некоторых случаях.
В противном случае перейдите к ответу от dedunumax.
Попробуйте sudo service apache2 start
, затем введите
sudo service apache2 status
. Вторая команда покажет, работает ли она или нет.
Я получил это сообщение об ошибке apache со следующей конфигурацией:
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Я прокомментировал запись :: 1 и выпустил команду перезапуска apache.
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# sudo service httpd restart
Я получил это сообщение об ошибке со следующей конфигурацией:
# 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