在 Ubuntu 上让 PHP-FPM 连接 Nginx,核心是通过 FastCGI(Unix Socket 或 TCP) 通信。下面给你一个最常见、可用的配置流程。
sudo apt update
sudo apt install nginx php-fpm
查看 PHP 版本(以 8.1 为例):
php -v
PHP-FPM 服务名一般是:
php8.1-fpm
查看配置:
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
确认这一行(默认就是):
listen = /run/php/php8.1-fpm.sock
重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
编辑你的站点配置:
sudo nano /etc/nginx/sites-available/default
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页即成功 ✅
listen = 127.0.0.1:9000
fastcgi_pass 127.0.0.1:9000;
root 路径错误try_files 没写sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/php8.1-fpm.log
如果你愿意,可以告诉我:
我可以给你更精确的配置。