温馨提示×

ubuntu php怎样配nginx

小樊
38
2026-09-22 15:31:44
栏目: 编程语言

下面是在 Ubuntu 上把 PHP + Nginx 配置起来的常见做法(以 Ubuntu 20.04 / 22.04 为例,PHP 8.1 或 8.2 都类似)。


一、安装 Nginx 和 PHP

sudo apt update
sudo apt install nginx -y
sudo apt install php-fpm php-cli -y

查看 PHP 版本(以 8.1 为例):

php -v

PHP-FPM 服务名通常是:

php8.1-fpm

二、确认 PHP-FPM 正在运行

systemctl status php8.1-fpm

如果没有启动:

sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

三、配置 Nginx 支持 PHP

1. 创建网站目录

sudo mkdir -p /var/www/html

2. 修改 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:/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

⚠️ 注意:php8.1-fpm.sock 要和你的 PHP 版本一致


四、测试 PHP 是否可用

创建测试文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

重启 Nginx:

sudo systemctl restart nginx

浏览器访问:

http://服务器IP/info.php

看到 PHP 信息页就说明成功 ✅


五、常见问题排查

1. 502 Bad Gateway

通常是:

  • PHP-FPM 没启动
  • fastcgi_pass 路径写错

检查:

ls /run/php/

2. 文件权限问题

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

六、(可选)开启 HTTPS

可以用 Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

如果你用的是 Ubuntu 版本不同 / PHP 版本不同 / 想配多个站点 / Laravel / ThinkPHP,可以告诉我,我可以给你更具体的配置。

0 踩