2

Вот мое сообщение об ошибке при запуске sudo apachectl start:

(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.
myUser@myMachine:/etc
$ sudo apachectl stop
httpd (no pid file) not running

Я новичок в Ubuntu (и Linux) и загрузил Apache 2.2 (рабочий) через Synaptic. Я нашел вкус httpd.conf мне понравился, и использую его.

1 ответ1

3

Другой сервер уже прослушивает порт 80 (стандартный порт HTTP), поэтому сервер не может запуститься. Вы можете выяснить, что на нем работает, остановить или перенастроить его, или вы можете изменить порт, который слушает Apache.

Чтобы увидеть, что в данный момент прослушивает порт 80, откройте терминал и выполните следующую команду:

sudo netstat --tcp --udp --listening --program

Одна из строк вывода будет иметь :www в третьем столбце, как в этом примере с моей машины:

tcp        0      0 *:www                   *:*                     LISTEN      1820/lighttpd   

В последнем столбце указан PID и исполняемый файл программы, которая в данный момент перечислена на этом порту. В моем случае это веб-сервер lighttpd , поэтому я остановил бы его командой service :

sudo service lighttpd stop

Кроме того, вы можете убить его, используя его PID:

sudo kill 1820

Если вы знаете, что работает на порте 80 и не хотите с ним связываться, вы можете вместо этого перенастроить Apache для прослушивания на другом порту. Для этого отредактируйте /etc/httpd/httpd.conf и найдите следующую строку:

Listen 80

Замените 80 на любой номер, который не используется в вашей системе, например 8080 . Затем запустите Apache, и вы можете посетить его, добавив двоеточие и номер порта, например http://localhost:8080/ .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .