温馨提示×

CentOS上PHP与Nginx如何协同工作

小樊
49
2025-10-04 21:26:04
栏目: 编程语言

在CentOS系统上,PHP和Nginx可以通过以下步骤协同工作:

  1. 安装Nginx: 首先,确保你的CentOS系统已经安装了Nginx。如果尚未安装,可以使用以下命令进行安装:

    sudo yum install epel-release
    sudo yum install nginx
    
  2. 启动Nginx服务: 安装完成后,启动Nginx服务并设置为开机自启:

    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 安装PHP-FPM: PHP-FPM(FastCGI Process Manager)是一个PHP FastCGI实现,可以与Nginx一起使用。使用以下命令安装PHP-FPM:

    sudo yum install php php-fpm
    
  4. 配置PHP-FPM: 编辑PHP-FPM配置文件(通常位于/etc/php-fpm.d/www.conf),设置监听地址和端口。例如,你可以将其设置为Unix socket:

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

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

    listen = 127.0.0.1:9000
    
  5. 修改Nginx配置: 编辑Nginx的默认站点配置文件(通常位于/etc/nginx/conf.d/default.conf),添加一个location块来处理PHP请求。例如:

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock; # 使用Unix socket
        # fastcgi_pass   127.0.0.1:9000; # 或者使用TCP/IP
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    

    这个配置告诉Nginx将所有以.php结尾的请求传递给PHP-FPM。

  6. 重启Nginx和PHP-FPM服务: 为了使更改生效,需要重启Nginx和PHP-FPM服务:

    sudo systemctl restart nginx
    sudo systemctl restart php-fpm
    

现在,当你在浏览器中访问你的CentOS服务器上的PHP文件时,Nginx会将这些请求转发给PHP-FPM进行处理,然后将生成的HTML内容返回给客户端。这样,PHP和Nginx就成功地协同工作了。

0