本文包含使用PHP-FPM为Nginx1.4.x HTTP服务器安装和配置PHP的步骤和提示。
本指南假定已成功从源构建Nginx,并且其二进制和配置文件位于/usr/local/nginx中。
本文仅介绍通过端口80提供PHP应用程序处理能力的Nginx服务器的基本配置。如果需要超出此文档范围的安装和配置指导,建议您参考Nginx和PHP-FPM文档。
请注意,本文始终使用“x”来表示版本号。根据实际情况,请用相应的版本号替换“x”。
1、建议您访问Nginx Wiki»安装页面,获取Nginx并将其安装到系统中。
2、获取并提取PHP源代码:
tar zxf php-x.x.x
3、配置并构建PHP。在这一步中,您可以使用许多选项自定义PHP,例如启用特定扩展。./configure--help命令将显示可用选项的完整列表。此示例仅提供支持PHP-FPM和MySQL的简单配置。
cd ../php-x.x.x ./configure --enable-fpm --with-mysql make sudo make install
4、创建配置文件并将其复制到正确的位置。
cp php.ini-development /usr/local/php/php.ini cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf cp sapi/fpm/php-fpm /usr/local/bin
5、如果文件不存在,为了避免恶意的脚本注入攻击,Nginx不向后端的PHP-FPM模块发送请求是很重要的。
php.ini文件的构成项目cgi。fix_将pathinfo设置为0。
php.打开ini。
vim /usr/local/php/php.ini
cgi.fix_找到pathinfo=,然后进行以下更改:
cgi.fix_pathinfo=0
6、在开始服务之前,php-fpm。必须更改conf配置文件,以确保php-fpm模块作为www.data用户和www.data用户组运行。
vim /usr/local/etc/php-fpm.d/www.conf
找到以下内容并修改:
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = www-data
group = www-data
接下来,启动php-fpm服务:
/usr/local/bin/php-fpm
7、配置nginx以支持PHP应用程序。
VIM/usr/local/nginx/conf/nginx.conf
将默认位置块更改为支持。PHP文件。
location / { root html; index index.php index.html index.htm; }
接下来。将php文件的请求配置为路由到后端的PHP-FPM模块,删除默认PHP配置块的注释,如下所示进行变更。
location ~* .php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx
8、创建测试文件。
rm /usr/local/nginx/html/index.html echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
打开浏览器http://localhost中所述修改相应参数的值。
通过配置上述步骤,Nginx服务器可以以SAPI SAPI模块的形式支持PHP应用程序。当然,Nginx和PHP的配置有很多选项。在相应的源代码目录中运行./configure-help以显示其他配置选项。