温馨提示×

ubuntu php怎样配置nginx

小樊
44
2026-09-07 11:02:37
栏目: 编程语言

在 Ubuntu 上配置 Nginx + PHP(通常是 PHP-FPM),可按下面步骤操作。


一、安装 Nginx 和 PHP

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

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

php -v

对应的 PHP-FPM 服务一般是:

php8.1-fpm

二、确认 PHP-FPM 监听方式

编辑 PHP-FPM 配置(示例为 8.1):

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

确认这一行(推荐用 sock):

listen = /run/php/php8.1-fpm.sock

重启 PHP-FPM:

sudo systemctl restart php8.1-fpm

三、配置 Nginx 支持 PHP

1. 创建网站目录

sudo mkdir -p /var/www/example.com
sudo nano /var/www/example.com/index.php

写入测试内容:

<?php
phpinfo();

2. 配置 Nginx 虚拟主机

sudo nano /etc/nginx/sites-available/example.com

示例配置:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    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;
    }
}

3. 启用站点

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试配置:

sudo nginx -t

重载 Nginx:

sudo systemctl reload nginx

四、测试 PHP

浏览器访问:

http://服务器IP

或本地测试:

curl http://localhost

看到 phpinfo() 页面说明配置成功。


五、常见问题

1. 404 或 PHP 文件被下载

  • 检查 location ~ \.php$ 是否配置
  • 确认 fastcgi_pass 路径正确

2. 502 Bad Gateway

sudo systemctl status php8.1-fpm
ls -l /run/php/php8.1-fpm.sock

确认 sock 文件存在且 Nginx 有权限

3. 使用域名

修改 /etc/hosts 或 DNS 解析到服务器 IP


如果你需要 HTTPS(Let’s Encrypt)Laravel / ThinkPHP 配置,或 多 PHP 版本共存,可以继续问我。

0