亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

防止Apache并發連接太多、超負荷運行導致崩潰的方法

添加時間:2011-1-14  添加: admin 

此方法是定期檢查Apache的進程數,發現連接過多然后自動重啟Apache,雖然有些笨,但還是比較有效的。
新建一Shell腳本文件,命名為checkapache,內容如下:
#!/bin/sh -e
#
# Check overload apache2
#

#最大Apache進程數,超過則重啟Apache
maxpids=600
#檢查進程時間間隔
interval=10
#日志文件
logfile=”/var/log/checkapache.log”

以上文件內容大致意思是每隔10秒種檢查一次Apache進程數,如果超過600個Apache進程,則重啟Apache服務,當然,這個maxpids和Interval參數依服務器承受能力而定。
echo ” Starting CheckApache MaxConn: $maxpids  ” >> $logfile
date >> $logfile
while [ 1 ]
do
pnums=$(ps ax | grep “[/]usr/sbin/apache2″ | wc -l)
if [ “$pnums” = “0″ ]; then
sleep 5
echo “**********************************************”  >> $logfile
date  >> $logfile
echo “———Starting apache2….—————”  >> $logfile
/etc/init.d/apache2 start  >> $logfile
fi
#pids=$(ps ax | grep “[/]usr/sbin/apache2″ | awk ‘{print $1}’)
if [ $pnums -gt $maxpids ]; then
#echo $pnums
#for i in $pids; do
#    kill $i
#done
#sleep 10
echo “**********************************************”  >> $logfile
date  >> $logfile
echo “Too much pids: $pnums ..Re Starting apache2….”  >> $logfile
/etc/init.d/apache2 stop  >> $logfile
sleep 5
/etc/init.d/apache2 start  >> $logfile
sleep 2
fi
sleep $interval
done
為了保障checkapache能正常運行工作,新建一個Cron來定時驅動另一個Shell文件checkrun,定期檢查checkapache是否正常工作,checkrun的內容如下:
#!/bin/sh -e
# /var/log/checkrun
#
# Written by Vohot

DAEMON=/var/log/checkapache
PIDFILE=/var/log/checkapache.pid
NAME=ChechApache

test -x $DAEMON || exit 0
. /lib/lsb/init-functions
if [ -f $PIDFILE ]
then
PID=`cat $PIDFILE`
if [ “x$PID” != “x” ] && kill -0 $PID 2>/dev/null ; then
STATUS=”PID: $PID :running”
RUNNING=1
else
STATUS=”PID $PID :not running”
RUNNING=0
fi
else
STATUS=”NO PIDFILE:not running”
RUNNING=0
fi
echo ” * $STATUS”
case “$1″ in
start)
log_begin_msg “Starting Apache-Check server: $NAME”
if [ $RUNNING = 1 ]; then
log_begin_msg “is running”
else
sudo start-stop-daemon –start –background -m –pidfile $PIDFILE –exec $DAEMON && log_end_msg 0 || log_end_msg 1
fi
;;
stop)
log_begin_msg “Stopping Apache-Check server: $NAME”
kill -9 $PID && log_end_msg 0 || log_end_msg 1
#sudo start-stop-daemon –stop –pidfile $PIDFILE –signal 1 –exec $DAEMON && log_end_msg 0 || log_end_msg 1
;;
*)
log_success_msg “Usage: $DEAMON {start|stop}”
exit 1
;;
esac
exit 0

此checkrun腳本由Cron定期執行,檢查checkapache這個腳本是否運行正常,如果發現checkapache沒有運行,則重新啟動它。
cron新加指令代碼行如:*/1 * * * * /var/log/checkshd start
意即每一分鐘檢查一次,可以定期檢查一下日志文件/var/log/checkapache.log的內容,掌握Apache服務器的運行狀態。

關鍵字:Apache 并發連接 超負荷 崩潰

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站