插件窝 干货文章 nginx怎么启动php

nginx怎么启动php

PHP Nginx 配置 FPM 421    来源:    2025-04-07

Nginx 启动 PHP 的配置方法

要在 Nginx 中运行 PHP,你需要配置 Nginx 与 PHP 处理器(通常是 PHP-FPM)协同工作。以下是完整的配置步骤:

1. 安装必要组件

首先确保已安装 Nginx 和 PHP-FPM:

# Ubuntu/Debian
sudo apt update
sudo apt install nginx php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc

# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc

2. 配置 PHP-FPM

编辑 PHP-FPM 配置文件(通常位于 /etc/php/{version}/fpm/pool.d/www.conf):

listen = /run/php/php-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
user = www-data
group = www-data

然后重启 PHP-FPM:

sudo systemctl restart php-fpm

3. 配置 Nginx

编辑 Nginx 站点配置文件(通常在 /etc/nginx/sites-available/your-site):

server {
    listen 80;
    server_name yourdomain.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/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

4. 测试并重启 Nginx

测试 Nginx 配置:

sudo nginx -t

如果没有错误,重启 Nginx:

sudo systemctl restart nginx

5. 创建测试文件

在网站根目录创建测试 PHP 文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

然后访问 http://yourdomain.com/info.php 查看 PHP 信息页面。

常见问题解决

  1. 502 Bad Gateway 错误

    • 检查 PHP-FPM 是否运行:systemctl status php-fpm
    • 检查 socket 路径是否正确(/run/php/php-fpm.sock
  2. PHP 文件被下载而不是执行

    • 确保 Nginx 配置中正确处理了 .php 文件
    • 检查 fastcgi_pass 指令是否正确
  3. 权限问题

    • 确保网站目录和文件有正确的权限(通常 www-data 用户需要读写权限)

通过以上步骤,你应该能够成功在 Nginx 中运行 PHP 程序。