Apache HTTP サーバーの起動に失敗しました

Apache HTTP サーバーの起動に失敗しました

開発サーバーに Laravel プロジェクトをプッシュした後、Apache 2 を実行できなくなったようです。

コマンドラインを実行した後:

sudo systemctl ステータス apache2

次のエラーが発生します:

● apache2.service - Apache HTTP サーバー ロード済み: ロード済み (/lib/systemd/system/apache2.service; 有効; ベンダープリセット: 有効) アクティブ: 失敗 (結果: 終了コード) 2020-02-03 月曜日 02:17:48 UTC 以降; 1 分 17 秒前 プロセス: 1631 ExecStart=/usr/sbin/apachectl start (コード = 終了、ステータス = 1/FAILURE)

Google で少し検索したところ、複数のプロセスがポート 80 を使用しているため Apache を起動できないようです。

ただし、コマンドラインを実行した後:

sudo lsof -i tcp:80

次のプロセスのリストを取得します。

コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名 google_ne 716 root 7u IPv4 18497 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http (確立済み) google_ac 717 root 5u IPv4 18475 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http (確立済み) google_cl 719 root 5u IPv4 18478 0t0 TCP instance-development-webapp-eatology.c.webapp-eatology.internal:34084->metadata.google.internal:http (確立済み) google_cl 719 root 6u IPv4 18402 0t0 TCP インスタンス開発ウェブアプリeatology.c.ウェブアプリeatology.internal:34080->metadata.google.internal:http (CLOSE_WAIT)

問題は、これらの各プロセスを終了する方法がわからないことです。多くのコマンド ラインを試しましたが、成功しませんでした。

ご協力いただきありがとうございます !

答え1

走る :

netstat -tulpn | grep 80 

次の行を見てください:

Proto : tcp
Local address : *.*.*.*:80

Pid またはプロセス名列の値を取得します。

<pid_or_process_name>:80

pid またはプロセス名を使用して、ポート 80 を保持しているプロセスを強制終了します。

pkill -9 <process_name> 

または

kill -9 <pid>

最後に、これはまだ回避策です。ポート 80 を公開するプロセスを見つけて無効にするか、構成ファイルを変更して tcp/80 以外の別のポートを指すようにする必要があります。再起動後も同じ問題が発生するためです。

関連情報