54

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

私はUbuntu 11.10を持っています

コマンドを実行してapache2を起動すると:

sudo /etc/init.d/apache2 start

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

Web サーバー apache2 を起動しています
apache2: ServerName に 127.0.1.1 を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした (98)アドレスは既に使用されています: make_sock: アドレス 0.0.0.0:80 にバインドできませんでした 利用可能なリッスン ソケットがありません。シャットダウンしていますログを開くことができません アクション「開始」に失敗しました。

ポート 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 の起動に失敗します。

助言がありますか?

4

12 に答える 12

116

このコマンドを実行して私のために働いた:

fuser -k -n tcp 80
于 2012-11-08T16:09:56.557 に答える
3

これを試してみてください。うまくいきます…</p>

sudo netstat -ltnp | grep ':80'

これは以下を返します。

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

それで

sudo kill -9 1047

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

于 2013-07-31T07:03:07.270 に答える
0

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

root# ps aux |grep apache

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

于 2015-05-27T11:14:35.923 に答える
0

これは、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
于 2014-10-09T06:19:02.443 に答える