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

您的位置: 首页 > 文章列表 > 编程开发 > centos下php-fpm与nginx如何协同工作

centos下php-fpm与nginx如何协同工作

  发布于2026-07-03 阅读(0)

扫一扫,手机访问

在CentOS环境下,PHP-FPM与Nginx这对黄金搭档,其实是通过FastCGI协议完成PHP脚本处理的。整个配置流程并不复杂,但有几个关键细节值得留意。下面直接进入正题。

centos下php-fpm与nginx如何协同工作

1. 安装PHP-FPM和Nginx

先把基础环境搭好,执行以下命令安装两个软件包:

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

2. 配置PHP-FPM

核心配置文件在/etc/php-fpm.d/www.conf,当然也有可能是在/etc/php-fpm.conf,具体取决于你的版本。我们用编辑器打开它:

sudo vi /etc/php-fpm.d/www.conf

需要确保以下几项配置正确:

  • listen —— 指定PHP-FPM监听的地址和端口。推荐使用Unix socket,性能更好;当然也可以用TCP/IP端口。两者选其一:

    listen = /run/php-fpm/www.sock

    或者

    listen = 127.0.0.1:9000
  • usergroup —— 指定运行PHP-FPM进程的用户和组。通常保持默认的apache即可:

    user = apachegroup = apache
  • 如果使用了Unix socket,别忘了设置socket文件的所有者和组,避免权限问题:

    listen.owner = apachelisten.group = apache

3. 启动并启用PHP-FPM服务

配置完成后,启动服务并设置开机自启:

sudo systemctl start php-fpmsudo systemctl enable php-fpm

4. 配置Nginx

接下来轮到Nginx了。主配置文件一般在/etc/nginx/nginx.conf,但通常我们会在/etc/nginx/conf.d/下放站点配置文件,比如default.conf

sudo vi /etc/nginx/conf.d/default.conf

server块中(或者新建一个),添加或修改以下关键部分:

server {
    listen 80;
    server_name your_domain.com;
    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:/run/php-fpm/www.sock;
        # 如果用TCP/IP端口,就把上面一行注释掉,换成下面这一行:
        # fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5. 重启Nginx服务

配置改完后,让Nginx重新加载配置并重启:

sudo systemctl restart nginx

6. 验证配置

检查两个服务是否都正常运行:

sudo systemctl status php-fpm
sudo systemctl status nginx

最后,在网站根目录下放一个测试的PHP文件(比如info.php),访问一下看看能否正常解析输出。如果能顺利显示PHP信息,说明配置成功。整个过程就这么简单,核心就是让Nginx把.php请求转交给PHP-FPM处理,把socket或端口对好,权限别出错,基本不会有问题。

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

热门关注