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

AWS Ubuntu服务器部署Flask应用报错:无法连接127.0.0.1:8000

解决Gunicorn无法连接127.0.0.1:8000的问题

嘿,我当初第一次在AWS Ubuntu上部署Flask的时候也踩过这个坑,咱们一步步来排查解决,应该很快就能搞定!

第一步:先确认基础环境和应用本身没问题

  • 先检查你的Flask应用文件是不是叫helloworld.py,并且就在当前工作目录里(Ubuntu是区分大小写的,别写错文件名哦)。
  • 试试单独运行Flask应用:python helloworld.py,然后在服务器上用curl http://127.0.0.1:5000测试,如果能返回Hello World!,说明应用代码本身没问题;如果不行,先检查代码的缩进、语法有没有错误(你给的代码看起来是对的,但复制的时候可能丢了符号?)。
  • 确认Gunicorn已经安装:运行pip list | grep gunicorn,如果没找到,先执行pip install gunicorn安装它。

第二步:排查端口和Gunicorn绑定问题

  • 检查8000端口是不是被其他进程占用了:
    执行sudo lsof -i :8000或者sudo netstat -tulpn | grep 8000,如果输出里有其他进程占用8000端口,要么杀掉那个进程(比如sudo kill -9 <进程PID>),要么换个端口运行Gunicorn,比如:
    gunicorn -b 127.0.0.1:8001 helloworld:app
    
    记得同时把Nginx配置里的proxy_pass http://127.0.0.1:8000/;改成对应的新端口。
  • 显式指定Gunicorn的绑定地址:有时候默认绑定可能出问题,试试直接指定端口运行:
    gunicorn -b 127.0.0.1:8000 helloworld:app
    

第三步:检查权限和日志细节

  • 试试用sudo运行Gunicorn:如果之前用root用户操作过文件,可能普通用户权限不够,执行sudo gunicorn helloworld:app看看能不能正常启动。
  • 开启Gunicorn的debug日志,看具体错误:
    gunicorn --log-level debug helloworld:app
    
    日志里会告诉你到底是找不到模块、还是无法绑定端口,或者其他问题,这时候就能精准定位了。

第四步:等Gunicorn正常运行后,别忘了检查Nginx

当Gunicorn能正常启动,用curl http://127.0.0.1:8000能返回内容后,还要:

  • 检查Nginx配置文件的语法:sudo nginx -t,确保没有语法错误。
  • 重启Nginx服务:sudo systemctl restart nginx,这样Nginx才能正确转发请求到Gunicorn。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:40:42