Webページに接続ができないと問い合わせがあったり、
監視サーバからアラートメールが飛んできた場合の対応法の一例を紹介します。
単純にhttpdが落ちてしまった場合
下記のコマンドを実行し、Apache(Webサーバ)が正常に動作しているか確認します。
[root@hoge ~]# ps ax | grep http
28878 ? Ss 0:02 /usr/local/apache2/bin/httpd -k start
29180 ? S 0:02 /usr/local/apache2/bin/httpd -k start
29183 ? S 0:02 /usr/local/apache2/bin/httpd -k start
29357 ? S 0:05 /usr/local/apache2/bin/httpd -k start
32430 pts/2 S+ 0:00 grep http
上記のようにhttpdのプロセスが表示されない場合はApacheが停止しています。
下記のコマンドを実行し、Apacheを起動させてください。
[root@hoge ~]# apachectl start
apachectlを実行した際、下記のようなエラーが出た場合
[root@hoge ~]# apachectl
-bash: apachectl: command not found
以下のコマンドを実行し
[root@hoge ~]# locate apachectl
/usr/local/apache2/bin/apachectl
フルパスでコマンドを実行してください。
[root@hoge ~]# /usr/local/apache2/bin/apachectl start
TIME_WAIT対策
httpdのプロセスが生きているのに
http接続が接続できない時、TIME_WAITが発生している可能性があります。
/etc/sysctl.confの設定を変更し、経過を観察します。
[root@hoge ~]# cp /etc/sysctl.conf /etce.sysctl.conf.YYYYMMDDbak
[root@hoge ~]# vi /etc/sysctl.conf
#下記を追記
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 20
net.ipv4.tcp_keepalive_probes = 4
net.ipv4.tcp_keepalive_intvl = 5
変更を反映させます。
[root@hoge ~]# sysctl -p