我正在使用mod_fastcgi的Apache2在私有共享服务器上运行PHP。 我已经把这个与suexec结合起来,所以我可以运行每个虚拟主机,因为它是自己的UNIX用户,保持WordPress的所有者高兴。
有一个网站偶尔会因Twitter上的刮板而产生一波stream量,这会产生10个php-cgi进程,每个进程使用50MB。 这在我的一个512MB从服务器上产生了很多的OOM错误。
我很想将每个用户限制在4个PHP进程中,同时保持全局最大进程数达到8个。在加载mod_fastcgi.so的configuration文件中,我定义了以下
FastCgiConfig -maxClassProcesses 4 -maxProcesses 8
在我的每个虚拟主机的cgi-bin / php.fcgi文件中,我还设置了以下内容:
#!/bin/bash ### Set PATH ### PHP_CGI=/usr/bin/php-cgi PHP_FCGI_CHILDREN=0 PHP_FCGI_MAX_REQUESTS=1000 ### no editing below ### export PHP_FCGI_CHILDREN export PHP_FCGI_MAX_REQUESTS exec $PHP_CGI
不幸的是,这并没有为我的环境做很多事情,当加载testing服务器时,我仍然发现一个用户运行超过4个php-cgi进程,导致更多的OOM问题。 我在这里做错了什么?