Ubuntu PHP-FPM如何与Nginx配合
在Ubuntu系统中,首先安装Nginx和PHP-FPM,然后配置PHP-FPM以Unix套接字方式监听,接着修改Nginx的站点配置文件并指向该套接字,重启服务后即可使Nginx解析PHP文件。验证步骤为:创建info.php测试文件,浏览器访问后若显示PHP环境信息则表示配置已成功。
在Ubuntu系统上,想让Nginx能解析PHP文件,核心就是要通过PHP-FPM来协同工作——这几乎是每个Linux运维都会遇到的配置场景。具体操作不算复杂,但有几个细节特别容易踩坑,下面直接进入正题。

-
安装Nginx和PHP-FPM
先把软件包安装好。在终端中执行以下命令,注意这里需要运行两条命令:先更新索引,再安装两个组件。
sudo apt updatesudo apt install nginx php-fpm安装完成后,Nginx和PHP-FPM就已经就位了。不过要让它俩真正“牵手”,还得调整配置。
-
配置PHP-FPM
编辑PHP-FPM的配置文件,路径通常是
/etc/php/7.x/fpm/pool.d/www.conf(注意把7.x替换成你安装的PHP版本)。用你喜欢的编辑器打开,比如nano:sudo nano /etc/php/7.x/fpm/pool.d/www.conf找到
listen这一行,把它改成Unix套接字的方式——这样Nginx和PHP-FPM就能通过本地文件通信,比TCP更高效也更安全。修改后的内容如下:listen = /run/php/php7.x-fpm.sock同样,把
7.x换成你的实际版本。保存并退出。 -
修改Nginx站点配置
现在去调整Nginx这边,让它知道PHP请求该往哪儿发。默认站点配置文件在
/etc/nginx/sites-a vailable/default:sudo nano /etc/nginx/sites-a vailable/default在
server块里找到关于PHP处理的location ~ .php$段,将其修改为:location ~ .php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php7.x-fpm.sock;}这里的
fastcgi_pass指向的就是刚才PHP-FPM监听的套接字文件,确保路径一致。保存退出。 -
重启服务使配置生效
修改完配置后,必须重启这两个服务才能生效:
sudo systemctl restart nginxsudo systemctl restart php7.x-fpm注意,
php7.x-fpm中的7.x仍需换成实际版本号。
至此,Nginx和PHP-FPM就已经成功“握手”了。为了验证效果,可以在 /var/www/html 下创建一个测试文件,比如 info.php,内容写一句标准的PHP代码:
然后在浏览器中访问 http://你的服务器IP/info.php。如果能正常展示PHP环境的详细信息,说明配置全部正确。


































