Home > linux > 小型vps nginx+php-cgi 内存过大应急预案

小型vps nginx+php-cgi 内存过大应急预案

[文章作者:陈毓端 若转载请标注原文链接:http://www.woyuw.com/?p=783]

朋友买了台vps 内存在512M ,有时候多个cgi进程是的内存使用过大 导致502错误

除了基本的优化外 ,这里就不写了,网上一堆。

应急预案脚本

#!/bin/sh
function fastCgiRestart(){
killall -9 php-cgi
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000   -u www -f /usr/local/php5/bin/php-cgi
}
function startNginx(){
/usr/local/nginx/sbin/nginx -t
}
while true
do
echo `free | awk ‘{print $3}’` | awk ‘{print $2}’ >a
usemem=`cat a`
echo `free | awk ‘{print $2}’` | awk ‘{print $2}’ >b
countmem=`cat b`
usememcache=”$usemem”
sysmemcache=”$countmem”

if [ $usememcache -gt 511111 ] ; then
fastCgiRestart
startNginx
else
echo ’sys is ok’
fi
sleep 5
done

注释:

# if [ $usememcache -gt 511111 ] ; then   表示但内存达到511111 时候重启php-cgi具体的参数可以依照内存的大小而定

总之这个《应急预案》是主动出击,保证站点的运行。


Categories: linux Tags:
  1. No comments yet.