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

Nginx未显示自定义根目录文件,Classic Load Balancer+EC2环境求助

解决Nginx显示默认页面而非自定义根目录内容的问题

我之前也碰到过一模一样的状况!咱们一步步来排查和解决:

1. 确认Nginx实际使用的配置文件

你修改了/usr/local/nginx/conf/nginx.conf和源码目录里的配置,但很可能Nginx根本没在加载这些文件!

执行下面的命令查看Nginx的配置路径:

nginx -V

输出里会有--conf-path=/xxx/nginx.conf的字段,这才是当前Nginx正在使用的配置文件路径。很多时候源码编译安装后,系统默认的配置路径可能和你修改的不一样,比如常见的/etc/nginx/nginx.conf,先确认这个核心点。

2. 检查Server块的优先级与配置

默认Nginx页面一般来自自带的/usr/share/nginx/html或者类似目录,说明你的请求还是落到了默认的Server块上。

打开正确的配置文件,检查:

  • 你的自定义Server块有没有设置default_server(如果是默认域名访问的话):
    server {
        listen 80 default_server; # 关键:标记为默认服务器
        server_name yourdomain.com; # 替换成你的域名
    
        root /home/ubuntu/mydomain/public; # 你的自定义根目录
        index index.html index.htm; # 确保指定了索引文件
    
        location / {
            try_files $uri $uri/ =404;
        }
    }
    
  • 如果有多个Server块,默认的那个(比如监听80但没指定server_name的)有没有被注释掉或者修改根路径?
  • 如果使用了sites-available和sites-enabled目录(Debian/Ubuntu常见),要确保你的自定义配置文件已经软链到sites-enabled目录:
    sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/
    

3. 验证文件与目录权限

Nginx进程的运行用户(通常是www-data或nginx)需要有访问/home/ubuntu/mydomain/public目录和文件的权限:

  • 查看Nginx运行用户:
    ps aux | grep nginx
    
  • 修改目录和文件权限:
    sudo chown -R www-data:www-data /home/ubuntu/mydomain/public
    sudo chmod 755 /home/ubuntu/mydomain/public # 确保目录有执行权限
    sudo chmod 644 /home/ubuntu/mydomain/public/index.html # 确保文件可读
    

4. 重启Nginx并验证配置

修改配置后一定要重启Nginx让配置生效:

sudo systemctl restart nginx # 适用于systemd系统(Ubuntu 16.04+)
# 或者
sudo service nginx restart

然后用nginx -t检查配置是否有语法错误:

nginx -t

如果显示test is successful,说明配置没问题。

5. 排除负载均衡干扰

先直接访问EC2实例的公网IP,看是否能显示自定义页面:

  • 如果直接访问EC2正常,那可能是Classic Load Balancer的缓存或健康检查问题,可以尝试清空CLB的缓存(如果有配置),或者检查CLB的监听端口是否正确转发到EC2的80端口。
  • 如果直接访问EC2还是显示默认页面,那问题肯定在Nginx配置上,回到前面的步骤再排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:23:43