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

在Ubuntu+Nginx环境用Gunicorn部署Dash应用报错如何解决?

问题解决方法

错误根因

  • 你当前gunicorn --bind 0.0.0.0:5000 wsgi:app指向的是Dash应用实例,而非Gunicorn需要的可调用WSGI对象。Dash本质是对Flask的封装,可被WSGI服务器识别的实例是app.server属性,也就是你在app.py里定义的server变量。
  • 直接执行python3 wsgi.py能本地运行是因为调用了Dash自带的run_server()开发服务,内部会自动调用底层的Flask server实例,该模式默认只绑定127.0.0.1,所以外部IP无法访问。

修复步骤

第一步:调整wsgi.py配置

将wsgi.py内容替换为以下代码,直接导出可被Gunicorn识别的WSGI实例:

from app import server

if __name__ == "__main__":
    from app import app
    app.run_server(host='0.0.0.0', port=5000, debug=True)

第二步:调整Gunicorn启动命令

把原来指向wsgi:app的参数改为指向导出的server变量:

gunicorn --bind 0.0.0.0:5000 wsgi:server

验证说明

  • 执行启动命令无报错后,先本地执行curl 127.0.0.1:5000验证服务正常启动
  • 若仍无法通过公网IP:5000访问,检查Ubuntu防火墙是否开放5000端口,可执行sudo ufw allow 5000临时开放端口测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:54:06