Ubuntu php-fpm与Nginx如何配置联动
在Ubuntu上配置PHP-FPM与Nginx联动,先安装PHP-FPM并配置通信方式(Unixsocket或TCP),再修改Nginx站点,通过fastcgi_pass转发PHP请求,语法检查后重启服务,最后创建测试文件验证联动成功。
要在 Ubuntu 上让 PHP-FPM 与 Nginx 顺畅协作,其实核心就几步:安装、配置、测试。下面把整个过程拆开讲明白,遇到坑的地方也会专门提醒。

1. 安装PHP-FPM
如果你还没装 PHP-FPM,直接用包管理器搞定就好:
sudo apt update
sudo apt install php-fpm
命令执行后,系统会自动安装对应 PHP 版本的 FPM 组件,比如 PHP 7.4 或 8.x,具体版本看你的源。
2. 配置PHP-FPM
PHP-FPM 的默认配置一般在 /etc/php/<版本号>/fpm/pool.d/www.conf 里。你需要根据实际场景决定是用 Unix socket 还是 TCP 端口通信。比方说,想改成 TCP 监听 9000 端口:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到下面这行:
;listen = /run/php/php7.x-fpm.sock
改成:
listen = 127.0.0.1:9000
当然,如果你更习惯 Unix socket 的高效,保持默认也行,后面 Nginx 配成对应的路径就好。
3. 配置Nginx
接下来是重头戏——让 Nginx 知道怎么把 PHP 请求扔给 FPM 处理。编辑你的站点配置文件,通常位于 /etc/nginx/sites-a vailable/你的站点:
sudo nano /etc/nginx/sites-a vailable/your-site
把下面的核心区块粘进去(注意替换成你自己的域名和路径):
server {
listen 80;
server_name your-domain.com www.your-domain.com;
root /var/www/your-site;
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/php7.x-fpm.sock; # 如果之前改成了TCP,这里就改成 127.0.0.1:9000
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
需要留意的是,如果你在 PHP-FPM 里用的是 TCP 监听,那这里的 fastcgi_pass 就要改成 127.0.0.1:9000,反之亦然。保持两边的通信方式一致,否则 Nginx 连不上 FPM 会报 502。
4. 启用站点配置
配置写好之后,需要把它链接到 sites-enabled 目录才能生效:
sudo ln -s /etc/nginx/sites-a vailable/your-site /etc/nginx/sites-enabled/
5. 检查Nginx配置并重启
修改 Nginx 配置后千万别直接重启,先做语法检查:
sudo nginx -t
如果提示 syntax is ok 且 test is successful,再重启 Nginx:
sudo systemctl restart nginx
6. 启动PHP-FPM
确保 PHP-FPM 服务已经跑起来,并且设为开机自启:
sudo systemctl start php7.x-fpm
sudo systemctl enable php7.x-fpm
注意把 php7.x 换成你实际的版本号,比如 php8.1-fpm。
7. 测试配置
最后一步,验证整个链路是否通顺。在网站根目录下建一个 info.php 文件:
echo "" | sudo tee /var/www/your-site/info.php
然后在浏览器里访问 http://your-domain.com/info.php,如果能看到 PHP 的详细信息页面,说明 Nginx 和 PHP-FPM 已经成功联动了。
搞完这个测试文件记得及时删除或限制访问权限,毕竟 phpinfo 会暴露很多服务器信息。从实际运维的角度看,这一步看似繁琐,但能把后面调试时遇到的各种 502、404 问题扼杀在摇篮里。


































