在 Ubuntu 上配置 Nginx + PHP(通常是 PHP-FPM),可按下面步骤操作。
sudo apt update
sudo apt install nginx php-fpm php-cli
查看 PHP 版本(以 8.1 为例):
php -v
对应的 PHP-FPM 服务一般是:
php8.1-fpm
编辑 PHP-FPM 配置(示例为 8.1):
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
确认这一行(推荐用 sock):
listen = /run/php/php8.1-fpm.sock
重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo mkdir -p /var/www/example.com
sudo nano /var/www/example.com/index.php
写入测试内容:
<?php
phpinfo();
sudo nano /etc/nginx/sites-available/example.com
示例配置:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试配置:
sudo nginx -t
重载 Nginx:
sudo systemctl reload nginx
浏览器访问:
http://服务器IP
或本地测试:
curl http://localhost
看到 phpinfo() 页面说明配置成功。
location ~ \.php$ 是否配置fastcgi_pass 路径正确sudo systemctl status php8.1-fpm
ls -l /run/php/php8.1-fpm.sock
确认 sock 文件存在且 Nginx 有权限
修改 /etc/hosts 或 DNS 解析到服务器 IP
如果你需要 HTTPS(Let’s Encrypt)、Laravel / ThinkPHP 配置,或 多 PHP 版本共存,可以继续问我。