elementary OS 0.2 Lunaを、さくらVPSで利用する。Webサーバーダウン時の対処方法。
さくらVPSのメモリーが2GB、HDD200GBを利用しているが、apache benchでWordPressのホームページを計ると、なんと、
# ab -c1 -n 100 http://linuxparadise.net/
で、安心となる。私は他にも、この同じサーバー内にVirtualHostで沢山の数のホームページを運営中です。
私は、ここ最近、サーバーが落ちる事が沢山ありまして困っておりました。
そうなると、MaxClients = 1ぐらいがいいのであろうかと思って、実際に行なってみると、WebSiteの表示がのろのろでありますよ。
これでは、いけないと思って、Webサーバーが落ちていたら、自動的に再起動させる方法が結局良いような気がしてきました。
それで、ググってみると、良い情報が載っていた。apache2が落ちているときに、再起動させて、落ちていないときには華麗にスルーするというものでありましたよ。
#!/bin/sh
SERVICE=apache2
LOG=/var/log/service-start.log
RESULT=`ps aux |grep apache2 |grep -v "grep"| wc -l`
echo "==== `date +%Y/%m/%d/%H:%M` ====" >> $LOG
if [ $RESULT -eq 0 ] ; then
echo "$SERVICE stopped now , Try $SERVICE service start!" >> $LOG
/etc/init.d/$SERVICE start >> $LOG
else
echo "Service $SERVICE is already Starting" >> $LOG
fi
これは、良いスクリプトだなぁと思って、使ってみることにしますよ。これを、crontabに入れておけばおk。
後日、このスクリプトで良いかどうかなども、追い追い公開していきますよ。
お楽しみに。
ちなみに、abで計ってみたり、他のサイトをググってみて、apacheの設定は下記のようにしました。
StartServers 5
ServerLimit 16
MaxClients 16
MinSpareServers 5
MaxSpareServers 10
MaxRequestsPerChild 1000
ServerLimit 16
MaxClients 16
MinSpareServers 5
MaxSpareServers 10
MaxRequestsPerChild 1000
Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3