商城首页欢迎来到中国正版软件门户

您的位置:首页 >centos中php-fpm与nginx如何联调

centos中php-fpm与nginx如何联调

  发布于2026-04-23 阅读(0)

扫一扫,手机访问

在CentOS上搞定Nginx与PHP-FPM联调:一份手把手的配置指南

让Nginx和PHP-FPM在CentOS系统上协同工作,是搭建动态网站的基础操作。这事儿听起来有点技术性,但别担心,只要跟着步骤走,配置过程其实相当清晰。下面这份详细的指南,会带你走通从安装到测试的每一个环节。

centos中php-fpm与nginx如何联调

1. 安装Nginx和PHP-FPM

第一步,自然是把两位“主角”请到系统里。通过Yum包管理器,安装过程可以一气呵成:

sudo yum install epel-release
sudo yum install nginx php-fpm

2. 启动并启用Nginx和PHP-FPM服务

软件安装好后,得让它们跑起来,并且设置成开机自启,这样服务器重启后服务也能自动恢复。执行下面这几条命令就行:

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

3. 配置Nginx以处理PHP请求

接下来是关键一步:告诉Nginx如何把PHP请求转发给PHP-FPM处理。你需要编辑Nginx的配置文件,通常是 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。下面是一个基础的服务器块配置示例:

server {
    listen 80;
    server_name your_domain.com; # 这里换成你的域名或IP地址
    root /var/www/html;          # 这里换成你的网站根目录
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 使用Unix套接字通信
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

4. 配置PHP-FPM

Nginx配置好了,PHP-FPM这边也得对得上。编辑它的配置文件,通常是 /etc/php-fpm.d/www.conf。你需要重点关注以下几项设置:

; 监听的Unix套接字路径(需与Nginx配置中的fastcgi_pass一致)
listen = /var/run/php-fpm/php-fpm.sock
; 也可以选择监听TCP端口(可选)
; listen = 127.0.0.1:9000

; 运行进程的用户和组,建议与Nginx保持一致
user = nginx
group = nginx

; 进程管理(PM)配置,根据服务器资源调整
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

5. 重启Nginx和PHP-FPM服务

配置文件的修改完成后,必须重启两个服务,新的设置才能生效:

sudo systemctl restart nginx
sudo systemctl restart php-fpm

6. 测试配置

是骡子是马,得拉出来遛遛。创建一个简单的PHP测试页是最直接的方法。在网站根目录(比如 /var/www/html)下创建一个 info.php 文件:

然后,打开浏览器,访问 http://your_domain.com/info.php。如果一切顺利,你应该能看到详细的PHP信息页面,这就证明联调成功了。

7. 防火墙配置

为了让外部能够访问你的Web服务,别忘了在防火墙放行HTTP(80端口)和HTTPS(443端口)流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

8. SELinux配置(可选)

如果你的CentOS系统强制启用了SELinux,它可能会阻止Nginx与PHP-FPM的正常通信。为了快速测试,可以临时将其设置为宽容模式:

sudo setenforce 0

测试通过后,建议再针对性地配置SELinux策略,以在保持安全性的前提下允许相关服务通信,而不是长期关闭它。

按照以上八个步骤操作下来,你就能在CentOS系统上顺利完成Nginx与PHP-FPM的联调配置,让Nginx流畅地处理PHP请求了。整个过程虽然涉及多个环节,但每一步都有明确的目标,按部就班就能搞定。

本文转载于:https://www.yisu.com/ask/31453822.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注