CentOS环境下配置Nginx以支持PHP解析

更新时间:2024-05-15 14:21:30   人气:5404
在CentOS环境中,要搭建一个高效稳定的Web服务器并实现对PHP动态内容的处理能力,我们需要借助开源软件Nginx与PHP-FPM(FastCGI Process Manager)进行整合。下面将详细介绍如何在CentOS系统下安装和配置Nginx以支持PHP解析。

### 一、环境准备

首先确保您的操作系统是CentOS,并且已更新至最新状态:

bash

sudo yum update -y && sudo yum upgrade -y


接下来添加EPEL仓库以便获取到最新的Nginx版本:

bash

sudo yum install epel-release -y


### 二、安装 Nginx 和 PHP

1. 安装Nginx:

bash

sudo yum install nginx -y


2. 启动nginx服务并且设置开机启动:

bash

systemctl start nginx
systemctl enable nginx


3. 验证Nginx是否成功运行:通过浏览器访问服务器IP地址或域名查看默认欢迎页。

4. 接下来安装php及相关扩展以及php-fpm :

bash

sudo yum install php php-common php-mysqlnd php-gd php-xmlrpc php-cli php-phpunit-PHPUnit \
php-imap php-json php-curl php-intl php-dom php-pecl-zip composer -y

# 注意这里我们选择了常用的几个模块如MySQL连接等,请按实际需求调整


5. 安装完成后,同样需要开启及启用PHP FPM服务:

bash

systemctl start php-fpm
systemctl enable php-fpm


### 三、配置Nginx 支持 PHP 解析

编辑 `/etc/nginx/conf.d/default.conf` 或者创建新的虚拟主机配置文件,在 `server { }` 块内加入如下location规则来指定请求.php后缀时交给php-fpm去执行:

nginx

location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/www.sock; # 根据实际情况可能为tcp端口例如:fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;

# 设置脚本路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# 如果使用https需加上此行(可选)
# fastcgi_param HTTPS on;
}


保存修改后的配置文件并检查语法正确性:

bash

sudo nginx -t


如果显示“syntax is ok”,则重启Nginx使更改生效:

bash

sudo systemctl restart nginx


现在您已经完成了基于CentOS系统的Nginx+PHP+FPM的基本集成工作流,您可以尝试放置含有`.php`结尾的测试页面于网站根目录下验证其能否正常被解析展示出来。这样就实现了利用Nginx作为web server同时能够完美地解释执行PHP程序的目标了。后续可以根据业务需求进一步优化和完善相关配置。