温馨提示×

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

小樊
32
2025-11-11 21:09:04
栏目: 编程语言

在CentOS系统下,PHP-FPM(FastCGI Process Manager)与Nginx协同工作的方式是通过FastCGI协议来处理PHP脚本。以下是配置PHP-FPM与Nginx协同工作的基本步骤:

1. 安装PHP-FPM和Nginx

首先,确保你已经安装了PHP-FPM和Nginx。你可以使用以下命令来安装它们:

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

2. 配置PHP-FPM

编辑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进程的用户和组。

    user = apache
    group = apache
    
  • listen.ownerlisten.group:如果使用Unix socket,指定socket文件的所有者和组。

    listen.owner = apache
    listen.group = apache
    

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

启动PHP-FPM服务并设置开机自启:

sudo systemctl start php-fpm
sudo 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;  # 如果使用Unix socket
        # fastcgi_pass 127.0.0.1:9000;  # 如果使用TCP/IP端口
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5. 重启Nginx服务

应用配置更改并重启Nginx服务:

sudo systemctl restart nginx

6. 验证配置

确保PHP-FPM和Nginx都在运行,并且PHP文件能够正确处理。

sudo systemctl status php-fpm
sudo systemctl status nginx

访问你的网站,确保PHP文件能够正确显示输出。

通过以上步骤,你就可以在CentOS系统下成功配置PHP-FPM与Nginx协同工作,处理PHP脚本。

0