一:编译安装php
下载地址:,我用的版本是5.5.9
一般编译安装软件,需要按照软件包组如下: Server Platform Development Desktop Platform Development Development tools
[root@localhost ~]# tar xvf php-5.5.9.tar.gz
[root@localhost ~]# cd php-5.5.9
[root@localhost php-5.5.9]# ./configure --prefix=/usr/local/php --enable-fpm //说明php有些版本需要启用--enable-fastcgi选项
[root@localhost php-5.5.9]# make && make install
root@localhost php-5.5.9]# cp php.ini-production /usr/local/php/lib/php/php.ini
php-fpm的配置文件在/usr/local/php/etc/php-fpm.conf.default
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
编辑此文件,找到 ;pid run/php-fpm.pid ,将;去掉 。
二:启动php-fpm进程
启动参数可以/usr/local/php/sbin/php-ftp --help 查看帮助
[root@localhost ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php/php.ini
[root@localhost ~]# netstat -tunlp | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6500/php-fpm
三:配置nginx来支持php-fpm
location / {
root /usr/local/nginx/html;
index index.html index.php;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; //指定php动态程序的主目录,这里是/usr/local/nginx/html
include fastcgi_params; // 将fastcgi的配置文件包含进来。
}
接着启动nginx服务,现在测试nginx对php的解析功能。在/usr/local/nginx/html目录下创建index.php文件,内容如下:
phpinfo();
?>
在浏览器中输入,就会显示php的有关信息。
说明:有可能nginx的版本不同,会出现浏览器显示file not found,而错误日志显示:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
说明这是nginx识别不到/scripts路径,导致phpinfo验证信息无法通过。解决办法如下:
此时将原来的这一行:
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替换为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; // $docment_root的代表请求在root指令定义的值
阅读(524) | 评论(0) | 转发(0) |