在Ubuntu系统中,让PHP-FPM与Nginx高效协同工作,是搭建高性能PHP网站的关键步骤。下面直接进入正题,详细讲解配置流程,助你快速上手。

1. 安装PHP-FPM
首先需要安装PHP-FPM。打开终端,执行以下两条命令即可完成安装:
sudo apt update
sudo apt install php-fpm
2. 配置PHP-FPM
安装完毕后,我们需要配置PHP-FPM的监听方式。默认配置文件通常位于 /etc/php/7.x/fpm/pool.d/www.conf(请将7.x替换为你实际安装的PHP版本)。使用你熟悉的编辑器打开它:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到以下内容并修改,目的是让PHP-FPM监听固定IP和端口,而非默认的Unix socket:
;listen = /run/php/php7.x-fpm.sock
listen = 127.0.0.1:9000
3. 启动并启用PHP-FPM服务
修改完成后,启动PHP-FPM服务并设置开机自启:
sudo systemctl start php7.x-fpm
sudo systemctl enable php7.x-fpm
4. 配置Nginx
接下来是关键步骤:让Nginx知道如何将PHP请求转发给PHP-FPM处理。编辑Nginx的站点配置文件,通常位于 /etc/nginx/sites-available/ 目录下,例如默认的 default 文件:
sudo nano /etc/nginx/sites-available/default
在 server 块中,加入或修改以下核心配置:
server {
listen 80;
server_name your_domain.com www.your_domain.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 127.0.0.1:9000; # 或者使用 unix:/run/php/php7.x-fpm.sock
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
请注意 fastcgi_pass 的地址必须与之前配置的PHP-FPM监听地址保持一致。如果配置的是 127.0.0.1:9000,这里就使用IP端口;如果使用Unix socket,则写 unix:/run/php/php7.x-fpm.sock。
5. 启用Nginx配置
配置完成后,创建一个符号链接使Nginx生效(如果默认文件已在 sites-enabled 中则跳过此步):
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
接着检查配置文件是否存在语法错误:
sudo nginx -t
如果提示成功,重新加载Nginx使配置生效:
sudo systemctl reload nginx
6. 验证配置
最后一步,验证所有配置是否正常运作。在网站根目录(例如 /var/www/html)下创建一个测试文件:
然后在浏览器中访问 https://your_domain.com/info.php,如果能够正常显示PHP信息页面,说明PHP-FPM与Nginx已成功协同工作。
整个配置过程并不复杂,按照顺序操作即可顺利完成。当然,生产环境还需关注安全配置和性能优化等细节,本文已为你打下坚实基础,后续可逐步完善。
