web-dev-qa-db-ja.com

Apacheの起動に失敗しました(アドレス0.0.0.0:80にバインドできませんでした)

更新:すでに修正されており、VirtualHosts構成ファイルの1つがサイト対応で間違っていたようです。

Ubuntu 11.10があります

Apache2を起動するコマンドを実行すると:

Sudo /etc/init.d/Apache2 start

次のエラーメッセージが表示されます。

WebサーバーApache2の起動
Apache2:すでに使用されているServerName(98)Addressに127.0.1.1を使用して、サーバーの完全修飾ドメイン名を確実に決定できませんでした:make_sock:アドレス0.0.0.0:80にバインドできませんでした。 downログを開けませんアクション 'start'が失敗しました。

ポート80を使用しているプロセスを取得するには、次のコマンドを実行します。

Sudo netstat -ltnp | grep ':80'

これはこの出力を返します:

tcp6       0      0 :::80                   :::*                    LISTEN      1176/

どのプロセスであるかを知るには、次のコマンドを実行します。

ps -wlp1176

それは返します:

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
5 D    33  1176     1  0  80   0 -     0 exit   ?        00:00:00 Apache2

しかし、プロセスを強制終了しようとすると:

Sudo kill -9 1176

再度実行すると、netstatコマンドがリッスンしているように見え、Apacheの起動に失敗します。

助言がありますか?

45
rfc1484

このコマンドを実行してくれました:

fuser -k -n tcp 80
110
StandDuPp

ポート80を使用するskypeまたはnginxの場合があります。

スカイプをシャットダウンするか、実行してみてください:Sudo /etc/init.d/nginx stop

16

同じエラーが発生したので、実行中であることを確認したいだけです

    Sudo netstat -ltnp | grep ':80'

hiawathaウェブサーバーがApache2の邪魔になっていることを示すのに役立ちました。

Hiawathaを削除すると、問題が修正されました(Sudo dpkg --purge hiawatha)。 Ubuntu 12.04.2サーバー。

5
user1004829

同じ問題があった

私にとって、Apacheはすでに実行されていましたが、間違った方法で実行されていました。

デーモンがそれを再インスタンス化し続けたため、プロセスの強制終了は機能しませんでした。

apachectl stop   

問題を解決しました。

4
Philip Lowe

これを試して、それは私のために働く...

Sudo netstat -ltnp | grep ':80'

これにより、次が返されます。

tcp6 0 0 :::80 :::* LISTEN 1047/Apache2

それから

Sudo kill -9 1047

その後、Apacheを再起動することができ、すべてが正常に機能しました。

3
Sam

/etc/Apache2/sites-available/your-domain-name.com.confに以下が設定されているかどうかを確認するだけです

SSLEngine on 
SSLCertificateFile /your/path/to/your-domain.com.crt
SSLCertificateKeyFile /your/path/to/your-domain.com.key
SSLCACertificateFile /your/path/to/your-domain.com.ca-bundle

また、ディレクトリの入力ミスや、.confファイルにあるはずのないものはありません。プロセスを再起動して強制終了してもまったく役に立たないので、私にとってはトリックでした。とにかく起動しませんでした。

1
Mister

他のプロセスがポート80を使用しているようです。

$ netstat -anp | grep

例えば。 $ netstat -anp | grep 80

上記でプロセス名を取得します。ポートを使用する場合は、プロセスを停止するかポートを変更する必要があります

1
Satish Chauhan

デバイスマネージャーに移動し、メニュー/ビューから[非表示のデバイスを表示]を選択し、[非プラグアンドプレイドライバー]/HTTPに移動し、ダブルクリックして無効にします(それに依存する一部のサービスを無効または手動にします)。再起動してお楽しみください!

1
mk_yo

どちらかを使用する

Sudo killall httpd

または

Sudo killall Apache2

80ポートを使用している人があるかどうかを確認してください

Sudo netstat -tulpn| grep :80

再起動

Sudo service httpd start

サーバーを再起動します。問題を理解するのに丸一日かかりました。

enter image description here

これは、Apacheの繰り返しインストールまたはポートが別のサービスによって使用されているために発生します

Sudo lsof -i | grep "httpd"

プロセスIDとサービスのリッスンポートが見つかります。次に確認してください

cd /proc/(process id of http)

次に、コマンドを使用してそのプロセスを強制終了します

kill -9 pid

Sudo netstat -nltp

再びプロセスを強制終了します

構文:-

kill -9 pid

そして今、Apacheを起動します

Sudo ./apachectl start
0
sreeks devan

以下の手順で修正しました。 rootユーザーとして以下のコマンドを実行します。

root# ps aux |grep Apache

Apache PIDが表示されます。PIDを強制終了して、Apacheサーバーを再起動します。

0
luqman

.confの1つのファイルでのみPORTNUMBERをリッスンさせることができます。複数のファイルに入れないでください。それを試してみてください :)

0
rocketsami