下面以 Ubuntu + LNMP(Linux + Nginx + MySQL + PHP) 为例,说明如何配置 PHP(通常是 PHP-FPM) 与 Nginx 配合工作。
以 PHP 8.1 为例(可根据需要改为 7.4 / 8.2 / 8.3):
sudo apt update
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip
查看 PHP 版本:
php -v
查看 PHP-FPM 状态:
systemctl status php8.1-fpm
如未启动:
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm
PHP-FPM 监听方式:
/run/php/php8.1-fpm.sock127.0.0.1:9000sudo nano /etc/nginx/sites-available/default
示例配置(PHP + Nginx):
server {
listen 80;
server_name example.com;
root /var/www/html;
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;
}
}
如果使用 TCP 方式:
fastcgi_pass 127.0.0.1:9000;
sudo nginx -t
sudo systemctl restart nginx
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
看到 PHP 信息页面即配置成功。
fastcgi_pass 路径错误检查:
ls -l /run/php/
systemctl status php8.1-fpm
说明 location ~ \.php$ 未正确配置或未重载 Nginx。
路径示例:
/etc/php/8.1/fpm/php.ini
修改后重启:
sudo systemctl restart php8.1-fpm
/var/www/
└── html/
├── index.php
└── info.php
如果你用的是 Ubuntu 20.04 / 22.04 / 24.04,或想配置 多 PHP 版本 / HTTPS / Laravel,可以告诉我具体环境,我可以给你更针对性的配置。