# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
# RHEL/CentOS
sudo yum update -y
# Debian/Ubuntu
sudo apt install nginx -y
# RHEL/CentOS
sudo yum install nginx -y
# Debian/Ubuntu (以PHP 8.1为例)
sudo apt install php-fpm php-mysql php-mbstring php-xml php-curl php-gd php-zip -y
# RHEL/CentOS 8+
sudo dnf install php-fpm php-mysqlnd php-mbstring php-xml php-curl php-gd php-zip -y
编辑PHP-FPM配置文件:
sudo nano /etc/php/{version}/fpm/php.ini
(将{version}
替换为你安装的PHP版本号,如8.1)
找到并修改以下参数:
cgi.fix_pathinfo=0
然后重启PHP-FPM服务:
sudo systemctl restart php{version}-fpm
编辑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 index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php{version}-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx
sudo nano /var/www/html/info.php
添加以下内容:
<?php phpinfo(); ?>
# 对于UFW (Ubuntu)
sudo ufw allow 'Nginx Full'
# 对于firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
在浏览器中访问:
http://your_server_ip/info.php
你应该能看到PHP信息页面。
502 Bad Gateway错误:
sudo systemctl status php{version}-fpm
sock
路径正确PHP文件被下载而不是执行:
权限问题:
/var/www/html
目录权限正确:
bash
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
需要任何特定部分的更详细说明或遇到具体问题,请随时询问。