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

Gunicorn无法访问8000端口,但Django开发服务器可正常访问的问题排查

排查Gunicorn监听但8000端口无法访问的步骤
  • 确认Gunicorn绑定地址
    检查启动Gunicorn的命令,确保绑定的是0.0.0.0:8000而非127.0.0.1:8000。默认情况下Gunicorn会绑定本地回环地址,只能本机访问,需要显式指定:

    gunicorn --bind 0.0.0.0:8000 <你的Django项目>.wsgi:application
    

    如果使用配置文件(如gunicorn.conf.py),检查其中的bind参数是否为0.0.0.0:8000。

  • 验证端口监听状态
    用以下命令确认Gunicorn实际监听的地址:

    ss -tulpn | grep 8000
    

    输出中如果显示127.0.0.1:8000,说明绑定地址错误;如果显示0.0.0.0:8000,则进入下一步排查。

  • 检查Bitnami虚拟环境激活状态
    Bitnami Django栈自带独立虚拟环境,确保启动Gunicorn前已激活:

    . /opt/bitnami/python/venv/bin/activate
    

    未激活虚拟环境可能导致使用系统级Gunicorn,引发配置或依赖不匹配问题。

  • 排查SELinux限制(针对Fedora/CentOS类系统)
    SELinux可能阻止Gunicorn对外提供网络服务,临时关闭测试:

    setenforce 0
    

    如果关闭后能访问,需配置永久规则:

    setsebool -P httpd_can_network_connect on
    
  • 查看Gunicorn日志排查错误
    启动Gunicorn时开启日志输出,定位潜在问题:

    gunicorn --bind 0.0.0.0:8000 --access-logfile - --error-logfile - <你的Django项目>.wsgi:application
    

    重点关注权限错误、Django配置问题(如ALLOWED_HOSTS是否包含服务器IP/域名)。

  • 确认防火墙规则
    虽然runserver能访问8000端口,仍需确认防火墙未针对Gunicorn进程做特殊限制:

    ufw status
    

    确保8000/tcp规则处于允许状态,若未添加则执行:

    ufw allow 8000/tcp
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:25:17