注:
1)、fast-cgi省cpu耗内存难监控。
2)、suphp省内存耗cpu易监控。
1.php要使用fast-cgi,首先在Easyapache编译的时候,要选上cgi-fcgi模块。如果之前没有编译可以重新EasyApache编译。
2.WHM >> Service Configuration >> Configure PHP and SuExec
PHP 5 Handler 选择 fcgi
“Save New Configuration”
3.php换成fast-cgi之后,编辑php.conf
nano -w /etc/httpd/conf/php.conf
# End of autogenerated PHP configuration.
保存好之后,重启apache。
4.由于大量php进程长期占用内存,可以每小时执行一次清空php进程。
crontab -e
把光标弄到最下
0 * * * * ps aux | grep php | egrep -v grep | linuxjishu/13830.html target=_blank class=infotextkey>awk ‘{print $2}’ | xargs kill -9
Ctrl+O保存,Enter,Ctrl+X退出
对于第3步,也另有老外总结出其它方法:
登录 WHM->Apache Configuration->include Editor->Pre Virtual host Include
特别关注地是:
- DefaultMinClassProcessCount 0 (necessary to make Idle timeout work)
- ThreadStackSize (default is too high, wastes memory, the setting below is good for most and will save enough memory to allow another php thread!)
<IfModule mpm_worker_module>
ThreadStackSize 4000000
ServerLimit 2
StartServers 1
MaxClients 128
MinSpareThreads 1
MaxSpareThreads 1
ThreadsPerChild 8
MaxRequestsPerChild 700
TimeOut 45
</IfModule>
<IfModule mod_fcgid.c>
MaxRequestsPerProcess 500
MaxProcessCount 15
DefaultMaxClassProcessCount 15
DefaultMinClassProcessCount 0
IPCConnectTimeout 60
IPCCommTimeout 3
PHP_Fix_Pathinfo_Enable 1
IdleTimeout 30
IdleScanInterval 10
BusyTimeout 120
BusyScanInterval 90
ErrorScanInterval 60
ZombieScanInterval 3
ProcessLifeTime 120
</IfModule>