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

Nginx+Gunicorn环境下Django域名无法访问但IP端口可正常加载

排查与解决步骤

1. 验证Nginx配置语法并重载服务

  • 先检查配置文件是否存在语法错误:
    sudo nginx -t
    
    注意:你的静态文件路径里写的Trabsfer疑似拼写错误,和启动Gunicorn时的TransferPrj不匹配,先修正这个拼写问题。
  • 若语法无错,重载Nginx使配置生效:
    sudo systemctl reload nginx
    

2. 确认自定义配置已启用且默认配置已禁用

  • 查看Nginx启用的站点配置:
    ls -l /etc/nginx/sites-enabled/
    
    如果看不到你的自定义配置文件,先从sites-available目录创建软链接:
    sudo ln -s /etc/nginx/sites-available/你的配置文件名.conf /etc/nginx/sites-enabled/
    
  • 如果目录下存在default文件,说明默认站点仍在生效,会优先匹配请求,执行命令禁用:
    sudo unlink /etc/nginx/sites-enabled/default
    
    之后再次重载Nginx。

3. 查看Nginx日志定位问题

  • 实时监控访问日志和错误日志,同时访问域名观察请求记录:
    sudo tail -f /var/log/nginx/access.log /var/log/nginx/error.log
    
    重点关注是否有404、502等错误码,判断Nginx是否正确转发请求到Gunicorn,或是存在路径、权限问题。

4. 确认Gunicorn监听状态与防火墙设置

  • 检查Gunicorn是否正确绑定0.0.0.0:8000:
    sudo netstat -tulpn | grep 8000
    
    确保输出中Gunicorn的监听地址是0.0.0.0而非127.0.0.1(后者会导致Nginx无法通过公网IP访问)。
  • 检查VPS防火墙是否开放80、443端口:
    sudo ufw status
    
    若未开放,执行命令放行:
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    

5. 排除浏览器缓存干扰

  • 使用浏览器无痕模式访问域名,避免旧缓存导致的默认页显示问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:08:16