AH00015: Невозможно открыть журналы. Не удалось выполнить действие «Пуск». в убунту 14.04


10

Я пытаюсь установить apache2, я столкнулся с этой проблемой. Дайте мне несколько решений

Перезапуск веб-сервера apache2 выдает ошибку:

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems

Не могли бы вы опубликовать свой конфигурационный файл apache?
— Лети

извините, как получить конфигурационный файл apache?
— narru033

Так и должно быть /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confи если вы определили свой/etc/apache2/sites-available/yourFile.conf
— Лети

Ответы:


8

Пробег

sudo netstat -tulpn | grep :80

и вы получите вывод что-то вроде

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

обратите внимание на pid процесса прослушивания порта, в моем случае это был 1066. Затем запустите

sudo kill -9 1066

Не забудьте изменить pid на тот, который прослушивает порт, он может отличаться от 1066


1

Как и многие серверные приложения, вы не можете привязать порт, уже связанный с другим приложением (в нашем случае это порт 80 http). Причина вашей ошибки в том, что Apache не может подключиться к порту 80, потому что что-то еще там уже прослушивается.

Запустите sudo netstat -tulpn | grep :80и найдите имя процесса, который прослушивает порт 80. Затем либо перенастройте, либо удалите эту программу.


1

На каком типе сервера вы работаете?

Для устранения первой ошибки

AH00558: apache2: не удалось надежно определить полное доменное имя сервера, используя 127.0.1.1. Установите директиву «ServerName» глобально, чтобы подавить это сообщение

Вам нужно будет отредактировать httpd.confфайл, добавив эту строку:

ServerName localhost

Чтобы устранить другие ошибки, вы должны убедиться, что вы пытаетесь запустить Apache с привилегиями root.

sudo /usr/sbin/apachectl start

1
Это не было их настоящей ошибкой.
— Томас Уорд

У меня нет httpd.confфайла. Могу ли я поставить эту линию в apache2.conf?
— JohnK

Установка ServerNameв не httpd.confимеет никакого эффекта.
— Cerin

1

У меня такая же проблема.

Я попытался установить LAMP на WSL, следуя этому блогу: LAMP на WSL, но когда я выполнил эту команду:

/etc/init.d/apache2 start  

Я получил эту же ошибку:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

Ранее я пытался установить Nginx на Windows должным образом и потерпел неудачу, но вспомнил, что привязал Nginx к порту 80. Проблема в том, что я не являюсь экспертом по Linux и не могу увидеть в файле apache2 conf область для привязки к порту.

Я пробовал бегать:

sudo netstat -tulpn | grep :80

и ничего не получил. Я также перенаправил порт в маршрутизаторе, поэтому не мог понять, как устранить ошибку.

Я знаю, что Nginx не работал, поэтому с портом 80 должно было быть все в порядке, за исключением chrome, который, как я полагаю, также работал на порте 80. Поэтому, не зная, что произойдет, я выполнил команду sudoследующим образом:

sudo  /etc/init.d/apache2 start  

и я получил:

 * Starting Apache httpd web server apache2                                                                              
 *

Продолжая команду запуска с sudo, Apache2 имеет право на запуск. Это краткосрочное решение, потому что не рекомендуется запускать Apache2 с правами суперпользователя (поэтому мы проинформированы), поэтому решение все еще существует, но сейчас я могу, по крайней мере, продолжить свои тесты.

Если кто-нибудь знает решение, пожалуйста, сообщите нам.


@Yufenyuy спасибо. Я пытался поймать все коды, но ...
— Seanbw

... @ seanbw, пожалуйста. Вот почему мы в сообществе ...
— ThunderBird

@Yufenyuy Правки, которые я получаю. Наиболее. Можете ли вы дать мне ссылку, которая учит меня, как помечать такие слова, как sudo, как часть предложения, потому что я вижу, что sudo имеет свой собственный формат, но не в отдельной строке. Спасибо
— seanbw

... @ seanbw, вы можете заключить слово между `и` example sudo, чтобы оно имело этот формат ... надеюсь, вы понимаете это.
— ThunderBird

0

Вы можете установить новый веб-сервер или что-либо зарезервировать порт 80, проверить ваши услуги и то, что вы недавно установили


0

В моем случае это была не проблема с журналами, а на самом деле с Listenдирективой - было установлено «Прослушивание по IP-адресу, который не существует» (когда я переместил свой ноутбук в другую сеть).

Это появилось только после того, как я удалил службу, переустановил ее и сказал:

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

Поэтому я только что прокомментировал оскорбительную директиву Listen (и оставил других) вуаля.

Я знаю, что Q касается Ubuntu, но некоторые другие люди могут приземлиться здесь, столкнувшись с проблемой.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.