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

在Amazon EC2 Ubuntu实例配置Gunicorn时遇无效地址错误求助

解决Gunicorn绑定EC2公网IP的无效地址错误

核心原因

EC2实例的公网IP是AWS通过NAT映射提供的,实例本身没有直接绑定这个公网IP,所以Gunicorn无法直接监听公网IP地址。

解决方案步骤

1. 修改Gunicorn配置文件

编辑conf/gunicorn_config.py,将bind字段改为监听所有网卡或者实例的私网IP:

# 方案A:监听所有网卡(推荐,方便外部访问)
bind = "0.0.0.0:8000"

# 方案B:绑定实例的私网IP(可在EC2控制台"网络和安全"下查看)
# bind = "172.31.x.x:8000"

2. 检查EC2安全组规则

确保EC2实例的安全组入站规则已开放8000端口:

  • 登录AWS控制台 → EC2 → 目标实例 → 安全组 → 编辑入站规则
  • 添加规则:类型选"自定义TCP",端口范围填8000,来源根据需求设置(测试可填0.0.0.0/0,生产建议限制特定IP)

3. 验证Django配置

修改Django项目的settings.py,将EC2公网IP(或域名)加入ALLOWED_HOSTS:

ALLOWED_HOSTS = ['13.232.32.207', 'your-domain.com']

4. 重启Gunicorn

重新执行启动命令:

gunicorn -c conf/gunicorn_config.py myproject.wsgi

额外排查点

如果仍有问题,检查端口是否被占用:

ss -tulpn | grep 8000

若端口被占用,杀掉对应进程(替换<PID>为进程ID):

kill -9 <PID>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:08:16