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

Ubuntu环境下Gunicorn+Bokeh+Flask脚本运行问题求助

解决Gunicorn+Bokeh+Flask在Ubuntu16上无法外部访问的问题

我来帮你一步步排查这个问题,你遇到的情况大概率是配置或网络层面的常见问题导致的,以下是具体解决步骤:

1. 修正Gunicorn启动命令的错误

你执行的命令gunicorn - 4 flask_gunicorn_embed:app存在参数拼写错误,而且默认Gunicorn只会监听本地回环地址127.0.0.1,这就导致只有服务器本机才能访问,外部(包括你通过SSH连接的客户端)无法连接。

正确的启动命令应该是:

gunicorn -w 4 -b 0.0.0.0:8000 flask_gunicorn_embed:app
  • -w 4:指定启动4个worker进程(你的原命令里把-w写成了- ,少了w)
  • -b 0.0.0.0:8000:让Gunicorn监听服务器上所有可用的网络接口,这样外部设备/客户端就能通过服务器的公网IP或hostname访问了

2. 检查Ubuntu 16.04的防火墙设置

Ubuntu 16.04默认使用ufw防火墙,可能8000端口没有被允许外部访问,执行以下命令开放端口:

sudo ufw allow 8000/tcp

然后验证防火墙规则是否生效:

sudo ufw status

你应该能看到8000/tcp的规则被标记为ALLOW

3. 云服务器需检查安全组规则(如果适用)

如果你的Ubuntu机器是云服务器(比如AWS、阿里云、腾讯云等),还需要在云平台的安全组配置中,添加入站规则,允许TCP协议的8000端口访问,来源可以设置为你的本地IP(更安全)或者0.0.0.0/0(允许所有IP访问)。

4. 验证服务状态与本地访问性

先在服务器本地测试服务是否正常:

curl 127.0.0.1:8000

如果能返回正常的HTML内容,说明服务本身没问题,问题出在网络层面;如果本地也访问失败,需要查看Gunicorn的日志输出,检查是否有代码报错(比如依赖缺失、Bokeh/flask配置错误),可以通过添加--log-level debug参数启动Gunicorn来获取更详细的日志:

gunicorn -w 4 -b 0.0.0.0:8000 --log-level debug flask_gunicorn_embed:app

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:12:44