温馨提示×

centos php-fpm与nginx如何配置

小樊
43
2025-10-04 21:35:05
栏目: 编程语言

在CentOS系统中配置PHP-FPM与Nginx协同工作,主要涉及以下几个步骤:

1. 安装PHP-FPM和Nginx

首先,确保你的CentOS系统已经安装了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。你需要确保PHP-FPM监听一个Unix套接字或TCP端口,以便Nginx可以连接。

使用Unix套接字

编辑 /etc/php-fpm.d/www.conf 文件:

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

找到以下行并取消注释(删除行首的分号):

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

改为:

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

确保Nginx配置中的 fastcgi_pass 指向这个套接字。

使用TCP端口

如果你更喜欢使用TCP端口,可以将 listen 行改为:

listen = 127.0.0.1:9000

然后在Nginx配置中使用 fastcgi_pass 指向这个端口:

fastcgi_pass 127.0.0.1:9000;

3. 配置Nginx

编辑Nginx的主配置文件 /etc/nginx/nginx.conf 或创建一个新的站点配置文件(例如 /etc/nginx/conf.d/default.conf)。

示例配置

以下是一个基本的Nginx配置示例,用于处理PHP请求:

server {
    listen 80;
    server_name example.com;  # 替换为你的域名或IP地址

    root /var/www/html;  # 替换为你的网站根目录
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;  # 或 fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

4. 启动和启用服务

启动并启用PHP-FPM和Nginx服务:

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

5. 验证配置

确保Nginx和PHP-FPM都在运行,并且能够正确处理PHP请求。你可以通过访问你的网站来验证这一点。如果一切配置正确,你应该能够看到PHP脚本的输出。

6. 调试

如果在配置过程中遇到问题,可以查看Nginx和PHP-FPM的日志文件以获取更多信息:

  • Nginx错误日志:/var/log/nginx/error.log
  • PHP-FPM错误日志:/var/log/php-fpm/error.log

通过这些步骤,你应该能够在CentOS系统上成功配置PHP-FPM与Nginx协同工作。

0