You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置调整请求:如何将根目录从/var/www/html/改回/var/www/?

解决Nginx加载/var/www项目而非默认/var/www/html的问题

咱们先定位问题核心:你访问192.168.56.102时显示默认页面,说明Nginx的默认站点配置正在生效,它的根目录指向/var/www/html。大概率是升级PHP过程中,Nginx的默认配置被重置,或者默认站点的优先级盖过了你的自定义站点。

下面是一步步排查和修复的具体操作:

1. 检查并处理Nginx默认站点配置

首先查看默认配置文件的内容,确认它的根目录设置:

cat /etc/nginx/sites-available/default

如果这个文件里的root字段确实是/var/www/html,而且它被软链接到了/etc/nginx/sites-enabled/目录下,那它会优先于你的自定义站点生效(Nginx按字母顺序加载配置,default排在自定义配置前面)。

两种修复选择:

  • 推荐:禁用默认站点
    直接删除sites-enabled里的默认配置软链接:
sudo unlink /etc/nginx/sites-enabled/default
  • (不推荐)修改默认站点的server_name,让它只响应特定域名,避免和你的自定义站点冲突,比如在默认配置里添加:
server_name _; # 或者指定一个你不用的域名

2. 确认自定义站点的软链接状态

虽然你说配置没变化,但还是再检查一遍:你的自定义配置是否被正确链接到sites-enabled目录?

ls -l /etc/nginx/sites-enabled/

如果看不到你的awesome.devel.conf,重新创建软链接:

sudo ln -s /etc/nginx/sites-available/awesome.devel.conf /etc/nginx/sites-enabled/

3. 检查Nginx配置语法合法性

配置文件的语法错误会导致Nginx静默加载失败,用下面的命令验证:

sudo nginx -t

如果报错,根据提示修正——比如你的配置里重复写了index指令,虽然不致命,但建议去掉重复行,保持配置整洁。

4. 重启Nginx服务

任何配置修改都需要重启Nginx才能生效:

sudo service nginx restart

如果你的系统支持systemctl,也可以用:

sudo systemctl restart nginx

5. 验证PHP-FPM与Nginx的通信配置(可选)

虽然你说PHP运行正常,但还是确认下PHP-FPM的监听地址是否和Nginx配置匹配:
查看PHP-FPM的池配置:

cat /etc/php/7.1/fpm/pool.d/www.conf | grep listen

如果输出是listen = /run/php/php7.1-fpm.sock,那你需要把Nginx配置里的fastcgi_pass改成unix:/run/php/php7.1-fpm.sock,然后重启两个服务:

sudo service php7.1-fpm restart
sudo service nginx restart

6. 测试访问与日志排查

现在重新访问awesome.devel或192.168.56.102,应该就能加载你/var/www/awesome/public/下的项目了。如果还是不行,查看Nginx的错误日志找线索:

tail -f /var/log/nginx/nxv_awesome.error.log

最后给你整理了一份精简后的配置文件(去掉了重复的index指令):

server {
    listen *:80;
    server_name awesome.devel www.awesome.devel;
    client_max_body_size 1m;
    root /var/www/awesome/public/;
    index index.php index.html index.htm;
    access_log /var/log/nginx/nxv_awesome.access.log;
    error_log /var/log/nginx/nxv_awesome.error.log;

    # static file 404's aren't logged and expires header is set to maximum age
    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass 127.0.0.1:9000;
        try_files $uri $uri/ /index.php$is_args$args;
    }
}

内容的提问来源于stack exchange,提问作者McRui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:21:59