cpanel中的php运行方式使用fast-cgi模式的配置方法

发布时间:2020-03-08编辑:脚本学堂
fast-cgi模式会比suphp模式消耗较多一些的内存,如果内存不多,不建议使用。如果cpu不够强,且经常高负,但内存却充足的话,可以考虑选用fast-cgi。

注:
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
 

复制代码 代码如下:
# fastcgi configuration for PHP5
LoadModule fcgid_module modules/mod_fcgid.so
MaxRequestsPerProcess 15
MaxRequestLen 15728640
ProcessLifeTime 120
IdleTimeout 30
DefaultMinClassProcessCount 0
DefaultMaxClassProcessCount 3
IPCConnectTimeout 60
IPCCommTimeout 30
AddHandler fcgid-script .php5 .php4 .php .php3 .php2 .phtml
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php5
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php4
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php3
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php2
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .phtml

# 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>