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

基于Ubuntu构建自定义Nginx镜像后页面未更新的问题排查

问题排查与解决方案

以下是几种可能导致该现象的原因及对应的排查、解决方法:

  • Nginx配置文件指向非目标路径
    Ubuntu系统中Nginx的默认站点配置通常位于/etc/nginx/sites-available/default,部分场景下配置里的root指令可能未指向/usr/share/nginx/html,或存在优先级更高的虚拟主机配置覆盖了默认路径。
    排查命令:

    docker exec <你的容器ID/名称> cat /etc/nginx/sites-available/default
    

    检查配置中的root字段是否为/usr/share/nginx/html,若不符,修改配置后重启容器;也可在Dockerfile中直接替换该配置文件,确保root路径正确。

  • 自定义HTML文件权限不足
    Nginx通常以www-data用户运行,若你的index.html权限仅对root用户开放,Nginx无法加载该文件,会自动 fallback到默认页面。
    排查命令:

    docker exec <你的容器ID/名称> ls -l /usr/share/nginx/html/index.html
    

    解决方法:在Dockerfile的COPY指令后添加权限设置命令:

    COPY content/index.html /usr/share/nginx/html/index.html
    RUN chown www-data:www-data /usr/share/nginx/html/index.html && chmod 644 /usr/share/nginx/html/index.html
    
  • 浏览器缓存干扰
    浏览器可能缓存了之前访问的Nginx默认页面,即便容器内文件已替换,仍会显示缓存内容。
    解决方法:使用浏览器强制刷新(Ctrl+F5),或打开隐私/无痕窗口重新访问。

  • 误访问主机上的Nginx服务
    若你的虚拟机本身安装了Nginx服务并监听80端口,可能你访问的是主机的Nginx而非容器内的服务。
    排查命令:

    docker ps
    

    查看容器的端口映射情况,确认主机端口(比如0.0.0.0:8080->80/tcp),然后访问主机IP:8080而非直接访问主机IP的80端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:45:01