要在Nginx中启动PHP服务器,你需要安装PHP-FPM(FastCGI Process Manager)并进行相应的Nginx配置。以下是详细步骤:
sudo apt update
sudo apt install nginx php-fpm php-mysql
sudo yum install epel-release
sudo yum install nginx php-fpm php-mysql
编辑PHP-FPM配置文件(通常位于/etc/php/{version}/fpm/pool.d/www.conf
):
sudo nano /etc/php/7.4/fpm/pool.d/www.conf # 根据你的PHP版本调整路径
确保以下设置:
listen = /run/php/php7.4-fpm.sock # 或 127.0.0.1:9000
user = www-data
group = www-data
sudo systemctl start php7.4-fpm # 根据你的PHP版本调整
sudo systemctl enable php7.4-fpm
编辑Nginx服务器配置文件(通常在/etc/nginx/sites-available/your-site
):
server {
listen 80;
server_name your_domain.com;
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:/run/php/php7.4-fpm.sock;
# 如果使用TCP连接,使用以下代替:
# fastcgi_pass 127.0.0.1:9000;
}
location ~ /\.ht {
deny all;
}
}
sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问http://your_server_ip/info.php
,你应该能看到PHP信息页面。
502 Bad Gateway错误:
sudo systemctl status php7.4-fpm
fastcgi_pass
路径与PHP-FPM的listen
设置匹配文件权限问题:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
PHP脚本被下载而不是执行:
index.php
是否在index
指令中通过以上步骤,你应该已经成功在Nginx中配置了PHP服务器支持。