下面按最常见场景给你一个清晰、可操作的 Ubuntu + PHP 部署指南(以 Ubuntu 20.04 / 22.04 为例,PHP 8.x + Nginx/Apache)。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-fpm php-cli -y
常用扩展:
sudo apt install php-mysql php-curl php-mbstring php-xml php-zip php-gd -y
查看版本:
php -v
sudo apt install nginx -y
查看 PHP 版本(如 8.1):
php -v
编辑 Nginx 站点配置:
sudo nano /etc/nginx/sites-available/default
示例配置:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html;
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;
}
}
⚠️ 根据你的 PHP 版本修改
php8.1-fpm.sock
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问:
http://服务器IP/info.php
sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm
sudo apt install apache2 libapache2-mod-php -y
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问:
http://服务器IP/info.php
编辑 php.ini:
sudo nano /etc/php/8.1/fpm/php.ini
修改:
display_errors = Off
log_errors = On
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
✅ 502 Bad Gateway
→ PHP-FPM 未启动或 sock 路径错误
✅ File not found
→ root 路径或 try_files 配置错误
✅ 权限拒绝
→ 检查 www-data 用户权限
如果你告诉我:
我可以给你针对性配置。