502 Bad Gateway主因是Nginx无法连接php-fpm,需检查其运行状态、监听地址(socket或TCP)与fastcgi_pass是否一致,socket权限、SCRIPT_FILENAME路径拼接、PHP文件及目录权限等。

PHP-FPM 服务没起来,502 Bad Gateway 就必然出现
Nginx 本身不解析 PHP,它只负责把 PHP 请求转发给 php-fpm 进程。如果 php-fpm 没运行、监听地址不对、或用户权限不匹配,Nginx 就连不上,直接返回 502 Bad Gateway。
- 先检查
php-fpm是否在运行:systemctl status php-fpm(CentOS/RHEL)或systemctl status php8.1-fpm(Ubuntu/Debian,版本号需匹配) - 确认
php-fpm配置里的监听方式:默认可能是listen = /run/php/php8.1-fpm.sock(Unix socket),也可能是listen = 127.0.0.1:9000(TCP)。Nginx 的fastcgi_pass必须和它严格一致 - Unix socket 文件权限容易出问题:确保
www-data(Nginx 用户)对/run/php/php8.1-fpm.sock有读写权限,或干脆改用 TCP 模式避开权限纠缠
fastcgi_pass 写错路径或端口,请求根本不会进 PHP
这是最常被复制粘贴坑到的地方。Nginx 配置里这一行决定 PHP 请求能否抵达 php-fpm,错一个字符就失效。
- 若
php-fpm用 socket:fastcgi_pass unix:/run/php/php8.1-fpm.sock;—— 注意unix:前缀不能少,路径要和php-fpm.conf里listen完全一致 - 若用 TCP:
fastcgi_pass 127.0.0.1:9000;—— 确保php-fpm的listen也是127.0.0.1:9000,且没被防火墙拦截(本地回环一般没问题) - 别写成
fastcgi_pass localhost:9000;—— 某些系统下localhost解析慢或失败,优先用127.0.0.1
缺少 fastcgi_param SCRIPT_FILENAME,PHP 报 No input file specified.
Nginx 转发请求时,必须明确告诉 PHP 当前脚本的绝对路径,否则 PHP 不知道该执行哪个文件。
- 标准配置里这行不能少:
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;或更常见的是fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - 关键在
$document_root:它由root指令定义,比如root /var/www/html;。如果root路径写错,或没写,SCRIPT_FILENAME就会拼出错误路径 - 调试技巧:临时加一行
fastcgi_param TEST_PATH $document_root$fastcgi_script_name;,然后在 PHP 里var_dump($_SERVER['TEST_PATH']);看实际值
PHP 文件没权限执行,Nginx 日志里只有 Permission denied
不是所有 403 都是 Nginx 配置问题。当 PHP 文件或其父目录权限不足,php-fpm 进程(通常以 www-data 或 nginx 用户运行)读不到文件,就会静默失败。
- 检查文件权限:
ls -l /var/www/html/index.php—— 确保www-data用户至少有读权限(-rw-r--r--可行,-rw-------不行) - 检查目录权限:
php-fpm需要对整个路径有执行(x)权限才能进入子目录,比如/var/www/html至少要是drwxr-xr-x - 别盲目
chmod 777—— 改完立刻恢复,生产环境用最小权限原则,用户组配合chown -R www-data:www-data /var/www/html更稳妥
Nginx 和 PHP-FPM 是两个独立进程,它们之间的连接细节——监听方式、用户权限、路径拼接、环境变量传递——每一步都可能断开。最容易忽略的是 php-fpm 的 listen.owner 和 listen.group 与 socket 文件实际属主不一致,或者 $document_root 在不同 location 块里没重新定义清楚。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











