2012-04-15 13 views
40

アップデート:VirtualHosts設定ファイルの1つがサイト対応で間違っていたようです。起動Apacheが失敗しました(アドレス0.0.0.0:80にバインドできませんでした)

私はapache2の起動するコマンドを実行するとUbuntuの11.10

あります

は、Webサーバのapache2に
のapache2の起動:

sudo /etc/init.d/apache2 start 

を私は次のエラーメッセージを得ることができますサーバーの完全修飾された ドメイン名を確実に決定しません。ServerName(98)に127.0.1.1を使用してください。のアドレスuse:make_sock:アドレス0.0.0.0:80にバインドできませんでした。 ソケットが使用可能で、シャットダウンログを開くことができませんでした。 'start'というアクションが失敗しました。 が失敗しました。

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

が、私はこれを実行しているプロセスを知っている:この出力を返し

sudo netstat -ltnp | grep ':80' 

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

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の起動が失敗し、それを殺すことはありません。

提案がありますか?私は、このコマンドを実行するための勤務

+2

だからPID 1176何であるポートを変更する必要があることで$ netstat -anp | grep 80

? ( 'ps -wlp1176') – geekosaur

+0

5 D 33 1176 1 0 80 0 - 0終了? 00:00:00 apache2 – rfc1484

+0

それはあなたに何かお手伝いしますか?ヒント:あなたが始めようとしているものと比較してください。 – geekosaur

答えて

100

fuser -k -n tcp 80 
+0

Debian 4.0.4でも私のために働きました。 – StandDuPp

+14

これはstackoverflowの単一の最大の投稿です。これまで –

+0

華麗なライナー – rakesh

16

それはポートに80

を使用してSkypeやnginxのかもしれは、Skypeをシャットダウン、または実行してみましょう:sudo /etc/init.d/nginx stop

+3

ありがとう、スカイプは問題の犯人だった。 – JCM

+0

ありがとう! 'nginx'が問題でした。それを殺すとapache2が始まる –

4

を私は同じことを持っていましたエラーが発生したことを確認して、実行を確認したいだけです。

sudo netstat -ltnp | grep ':80' 

帽子Hiawatha webserverがApache2の道にありました。

Hiawathaを削除すると問題が解決しました(sudo dpkg --purge hiawatha)。 Ubuntu 12.04.2サーバー。

1

これは以下を返します...それは私の作品、

sudo netstat -ltnp | grep ':80' 

これを試してみてください:

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

その後

sudo kill -9 1047 

それから私は、Apacheを再起動することができたし、すべてのものでしたうまく動作します。

1

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

4

私は、Apacheがすでに実行していたが、それは間違った方法を実行していた、私にとっては同じ問題

を持っていました。

デーモンがそれを元に戻していたため、キリングプロセスが機能しませんでした。

apachectl stop 

が解決しました。

0

これが原因apacheやポートの繰り返しインストールの起こるかは、あなたがプロセスIDとサービスのリスニングポートを見つける別のサービスによって

sudo lsof -i | grep "httpd" 

を使用しています。

kill -9 pid 
- :次に

cd /proc/(process id of http) 

をチェックし、コマンドに

kill -9 pid 

sudo netstat -nltp 

再びプロセスを殺す

構文を使用してそのプロセスを強制終了

今apacheの起動

sudo ./apachectl start 
+0

これは私のために働いた!ありがとう! –

1

次はあなたの/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ファイルに存在しないはずのディレクトリやその他のものはありません。プロセスを再開して殺すことはまったく役に立たなかったので、私のためのトリックでした。それはとにかく始まらなかった。

0

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

root# ps aux |grep apache 

Apache PIDが表示され、そのPIDを強制終了してApache Serverを再起動します。

1

これは、他のプロセスのように見えるポート80

$ netstat -anp | grep 

などを使用しています。あなたは、プロセス名を取得する上であなたは、ポートを使用したい場合は、あなたがプロセスを停止または

関連する問題