AWS EC2を停止したらhttpdが起動しない!!ブチ切り(STOP)したからでしょうか?原因は80ポートを占有するプロセスがあるから

オペミスの話ですが、昼間に作業していたEC2のサーバを夕方帰宅前に停止させようと考えてAWSのWebコンソール画面からEC2を2台選択して「STOP」した。

あっ
本番稼働中のEC2を誤って選択していた・・・ 既にインスタンスが「STOP」ステータスへshutdown中・・・・ヤバイ まずい これはマズイ
該当のEC2はメールサーバ兼Webサーバとして本番稼働中 1人でテンパる。
が、冷静になれと言い聞かせながら該当が「STOP」となったので「START」させました。

起動時間は1~2分なので すぐにターミナルでログインしてみたら問題なくログインできた。しかしプロセスを確認したところhttpも含め全て起動しているようですが、Web画面が表示されない

なぜ? プロセスは生きてるのに?・・・????・??

実はこれ以前にもあった事象です。これですがApache稼働中に何らかの理由でサーバーを強制的に停止もしくは再起動した場合に起きるらしく 停止前のApacheプロセスが80番ポートを占有してしまい新しいApache(httpd)プロセスが起動できない しかも停止できても起動できない という負のスパイラルに陥る。

解消方法は 旧プロセス(80番ポート占有している)を見つけてプロセスをkillしてhttpdを起動すればOK

コマンドとしては

#lsof –i | grep httpd
httpd  XXXX
httpd  XXXX

発見したプロセスをkillします
#kill   XXXX

次にhttpdを起動させる

#/etc/rc.d/init.d/httpd start

これで起動できた

停止時間 約10分程度ですが・・・・ 障害報告は書きませんよ 実被害ないので 今のところは

シェアする

  • このエントリーをはてなブックマークに追加

フォローする