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

Docker部署Django+NGINX时域名需带8000端口访问问题咨询

你的问题核心是Nginx容器的端口映射配置错误,HTTP协议默认访问80端口,你当前配置将宿主机8000端口映射到Nginx容器的80端口,所以直接访问域名时请求默认打到宿主机80端口,没有对应服务响应,必须带8000端口才能访问。

解决方案

步骤1:修改docker-compose端口映射

找到docker-compose.yml中nginx服务的ports配置,将原配置:

ports:
  - 8000:80

修改为:

ports:
  - 80:80

步骤2:重启Nginx容器生效

执行以下命令重启Nginx容器,不需要重启其他服务:
docker-compose up -d --force-recreate nginx

注意事项
  • 执行重启前需要确认宿主机80端口未被其他服务占用,可执行ss -tulpn | grep :80查看端口占用情况,如果有其他服务(比如宿主机本地安装的Nginx、Apache等)占用80端口,需要先停止对应服务再重启容器。
  • 确认你的服务器安全组、防火墙已经开放80端口的入站访问权限,否则外部请求无法正常访问站点。
  • 后续如果需要配置HTTPS访问,需要额外开放443端口,在docker-compose的nginx ports配置中新增- 443:443,同时在Nginx配置中补充443端口的监听和证书配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:24:00