web-dev-qa-db-ja.com

Apacheを再起動しようとすると「ログを開けません」というエラーが表示される

Apacheを起動しようとすると、次のエラーが表示されます

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. 

実際、Apacheログにはこれ以上の情報は含まれていません。

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には何もありませんが、まだ再起動できません

5
user259920

あなたも得るので、おそらくもっと壊れている

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番目のリッスンラインはすでに開いているポートを開こうとしました。説明されているように ここ

8
user224465

非rootユーザーとしてApacheを起動しようとしていますか? Apacheを1024未満のポートにバインドする権限がない可能性があり(通常はrootユーザーのみが可能)、ログファイルはApache:apache以外のユーザーが所有するか、rootが所有します。それらを開きます。

/ etc/Apache2/logsがApache2ユーザーによって所有されていること、およびルートとしてサービスを開始していることを確認します(そして/etc/Apache2/conf/Apache2.conf(またはhttpd.conf)のユーザーとグループが正しいユーザーに指定されます)。

1
papashou