那里有好的教程吗?
目前我正在使用效率不高的 apache2/mod_php。
答案1
您运行的是哪个发行版其实并不重要,但这是我为 CentOS 服务器使用的设置,但应该能够轻松转换到您使用的任何版本。为了获得最佳效果,您需要使用 Apache2 的 Worker MPM,而不是 Prefork MPM。
假设您已经通过分发包或从源代码。安装 mod_fastcgi 后,您需要确保它配置为通过 Apache2 加载,我这样做了,包含/etc/httpd/conf.d/mod_fastcgi.conf
:
LoadModule fastcgi_module modules/mod_fastcgi.so
接下来我创建了另一个文件/etc/httpd/conf.d/
任何.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/
我需要创建php.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_CGI 路径不同,请更新它。您还可以更改 PHP_FCGI_CHILDREN 值,我看到有人建议将其设置为 4,但我将其保留为 0,并且性能良好。
此时您应该能够重新启动 Apache2 来重新读取配置,如果您设置一个简单的 phpinfo() 页面来查询,您应该看到它显示设置ServerAPI
说明CGI/FastCGI
。
答案2
什么发行版?
这是在 Ubuntu 上从 mod_php 迁移到 mod_fcgid 的教程: