我如何configurationapache2 / mpm-worker + fcgid?

那里有什么好的教室吗?

目前我使用的是apache2 / mod_php,效率不高。

应该不是真正关系你正在运行哪个发行版,但是这里是我用于CentOS服务器的设置,但是应该能够很容易地翻译,无论你正在使用哪一个。 您需要使用Apache2的Worker MPM与Prefork MPM,以获得最佳效果。

假设您已经通过分发包装或从源代码安装了mod_fastcgi。 一旦你安装了mod_fastcgi,那么你要确保它被configuration为通过Apache2加载,我在/etc/httpd/conf.d/mod_fastcgi.conf包含了:

 LoadModule fastcgi_module modules/mod_fastcgi.so 

接下来,我创build了另一个文件,如/etc/httpd/conf.d/ whatever .conf (命名任何你想要的东西,对我来说,它是wordpress.conf ):

 <Directory "/path/to/app/docroot"> Options +ExecCGI AddHandler php5-fastcgi .php Action php5-fastcgi /cgi-bin/php.fcgi DirectoryIndex index.php index.html AllowOverride All </Directory> 

这就意味着在你的cgi-bin目录下(对我来说就是/var/www/cgi-bin/我需要创buildphp.fcgi脚本和chmod 755它。

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

当然如果你的系统不同,更新PHP_CGIpath。 您也可以更改PHP_FCGI_CHILDREN值,我已经看到一些build议将它设置为4,但我已经把它留在0,并有良好的性能。

在这一点上,你应该能够重新启动Apache2重新读取configuration,如果你设置一个简单的phpinfo()页面来查询你应该看到它说的ServerAPI设置陈述CGI/FastCGI

什么发行?

下面是一个在Ubuntu上从mod_php转到mod_fcgid的教程: