Когда я пытаюсь запустить апача, я получаю следующую ошибку
root@server11362:~# sudo /etc/init.d/apache2 restart
Restarting web server apache2 (98)Address already in use:
make_sock: could not bind to address 111.90.150.93:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
На самом деле апачский журнал не содержит больше информации.
netstat -tulpn
возвращает следующее
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1098/mysqld
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1414/redis-server
tcp 0 0 111.90.150.93:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 111.90.150.92:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1068/named
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1194/postgres
tcp 0 0 0.0.0.0:44888 0.0.0.0:* LISTEN 845/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1395/master
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1068/named
tcp 0 0 0.0.0.0:6081 0.0.0.0:* LISTEN 1435/varnishd
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 1434/varnishd
tcp6 0 0 :::53 :::* LISTEN 1068/named
tcp6 0 0 :::44888 :::* LISTEN 845/sshd
tcp6 0 0 :::25 :::* LISTEN 1395/master
tcp6 0 0 ::1:953 :::* LISTEN 1068/named
tcp6 0 0 :::6081 :::* LISTEN 1435/varnishd
udp 0 0 111.90.150.93:53 0.0.0.0:* 1068/named
udp 0 0 111.90.150.92:53 0.0.0.0:* 1068/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 1068/named
udp6 0 0 :::53
Нет ничего на порте 80, но я все еще не могу перезапустить
Вы пытаетесь запустить апача как некорневого пользователя? Возможно, что у Вас нет разрешения связать Apache с портами ниже, чем 1 024 (обычно только возможный пользователем root), и файлы журнала принадлежат кому-то другому, чем apache:apache или принадлежат корню, который препятствовал бы тому, чтобы Apache открыл их.
Проверка, что/etc/apache2/logs принадлежит apache2 пользователю и что Вы запускаете сервис как корень (и удостоверяются, что Пользователь и Группа в/etc/apache2/conf/apache2.conf (или httpd.conf) определяется корректному пользователю).
Там возможно более повреждается, потому что Вы также получаете
Unable to open logs
, В первую очередь, включаете больше входа
LogLevel debug
в Вашем /etc/apache2/apache2.conf
.
Проверка Ваши полномочия файла в /var/log/apache2
.
я использую часто после команды для отладки:
strace -f apache2ctl start 2>&1|grep -v " ENOENT " | grep -Ee " E[A-Z]+"
Это показывает Вам точно, какие вызовы являются отказавшими.
[Редактирование]
Другая причина могла произвести наложение, слушают адреса как:
Listen *:80
Listen 1.2.3.4:80
, Таким образом, Вы слушаете все интерфейсы и 2-е, слушают, строка пыталась открыть уже открытый порт. Как описанный здесь .
Моя проблема была то, что я имел
Listen 192.168.0.101:80
в конфигурациях сайта.
, Но после перезапуска ПК мой IP изменился на другой (192.168.0.102). Фиксация IP-адреса решила проблему.