PHP 的 FastCGI 使 php 程序通过 mod_fastci 运行,而不是 mod_phpsusexec 。FastCGI 应用速度很快是因为其持久稳定。不必对每一个请求都启动和初始化。
PHP 的 fastcgi 使 php 程序通过 mod_fastci 运行,而不是 mod_phpsusexec 。
FastCGI 应用速度很快是因为其持久稳定。不必对每一个请求都启动和初始化。好处是 PHP 脚本运行速度提升 3-30 倍;并不需要对现有的PHP代码做任何的更改;PHP 解释程序被载入内存而不用每次需要时从存储器读取,极大的提升了依靠脚本运行的站点的性能;同时速度的提升并不会增加 CPU 的负担。
php
很简单,打开 fpm 这个 USE 标记即可。
复制代码 代码如下:
echo "dev-lang/php fpm" >> /etc/portage/package.use
emerge -av dev-lang/php
配置很简单,我本机版本是 php5.4,那么编辑文件 /etc/php/fpm-php5.4/php-fpm.conf,修改 listen address
复制代码 代码如下:
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock
nginx
打开 fastcgi USE 标记
复制代码 代码如下:
echo "www-servers/nginx fastcgi" >> /etc/portage/package.use
emerge -av www-servers/nginx
编辑 /etc/nginx/nginx.conf
复制代码 代码如下:
location ~ .*.php$ {
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
lighttpd
打开 php USE 标记
复制代码 代码如下:
echo "www-servers/lighttpd php" >> /etc/portage/package.use
emerge -av www-servers/lighttpd
编辑 /etc/lighttpd/mod_fastcgi.conf
复制代码 代码如下:
server.modules += ("mod_fastcgi")
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/var/run/php-fpm.sock",
)
)
)
fastcgi.map-extensions = ( ".php3" => ".php", ".php4" => ".php", ".php5" => ".php" )
apache
首先需安装 www-apache/mod_fastcgi_handler
复制代码 代码如下:
emerge -av <code>www-apache/mod_fastcgi_handler
同时 PHP 需要打开 apache2 USE 标记
复制代码 代码如下:
echo "dev-lang/php apache2" >> /etc/portage/package.use
emerge -av dev-lang/php
编辑文件 /etc/apache2/modules.d/70_mod_php5.conf,告诉 apache2,php-fpm sock 的路径
复制代码 代码如下:
<IfModule mod_mime.c>
# AddHandler application/x-httpd-php .php .php5 .phtml
# AddHandler application/x-httpd-php-source .phps
AddHandler fcgi:/var/run/php-fpm.sock .php .php5
</IfModule>
编辑文件 /etc/apache2/modules.d/20_mod_fastcgi_handler.conf
复制代码 代码如下:
<IfDefine FASTCGI_HANDLER>
LoadModule fastcgi_handler_module modules/mod_fastcgi_handler.so
</IfDefine>
编辑文件 /etc/conf.d/apache2,在 -D php5 后面添加 -D FASTCGI_HANDLER,告诉 apache2 以 fastcgi-handler 模式启动,类似如下的配置:
复制代码 代码如下:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5 -D FASTCGI_HANDLER"