Nginx安装和配置PHP

2023-08-07 90

本文为大家讲解使用 PHP-FPM 为 Nginx 1.4.x HTTP 服务器安装和配置 PHP 的说明和提示,已经从源代码成功构建 Nginx,并且其二进制文件和配置文件都位于 /usr/local/nginx。 本文仅包含 Nginx 服务器的基本配置,它将通过 80 端口提供 PHP 应用的处理能力。需要注意的是,本文一律使用 ‘x’ 来表示版本号,请根据实际情况将 ‘x’ 替换为对应的版本号。

1、安装 Nginx

建议访问 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

需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。

将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。

打开 php.ini:

 vim /usr/local/php/php.ini

定位到 cgi.fix_pathinfo= 并将其修改为如下所示:

cgi.fix_pathinfo=0

5、修改 php-fpm.conf 配置

在启动服务之前,需要修改 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

6、配置 Nginx 使其支持 PHP 应用

vim /usr/local/nginx/conf/nginx.conf

修改默认的 location 块,使其支持 .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

7、创建测试文件

rm /usr/local/nginx/html/index.html
echo "" >> /usr/local/nginx/html/index.php

打开浏览器,访问 http://localhost,将会显示 phpinfo() 。

通过以上步骤的配置,Nginx 服务器现在可以以 SAPI SAPI 模块的方式支持 PHP 应用了。 当然,对于 Nginx 和 PHP 的配置,还有很多可用的选项, 请在对应的源代码目录执行 ./configure –help 来查阅更多配置选项。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
Nginx安装和配置PHP
上一篇: Apache安装PHP
Nginx安装和配置PHP
下一篇: Kubernetes简介