Linux服务器运行Flask应用出现连接失败问题如何解决
Flask公网访问失败排查解决方案
- 第一步:确认Flask服务启动方式与监听状态
你添加的if __name__ == '__main__'段配置仅在直接运行Python脚本时生效,请勿混用flask run命令,正确启动命令为:
启动后执行以下命令确认端口监听状态:python3 main.py
正常输出应包含ss -tulnp | grep 5000LISTEN 0 128 0.0.0.0:5000 0.0.0.0:*相关内容,若未匹配到结果,检查main.py代码内app实例是否正确初始化,无语法报错。 - 第二步:放行Linode云平台防火墙规则
Ubuntu系统内的ufw规则仅为实例内部防火墙,Linode平台默认在云网络层配置了防火墙拦截,需登录Linode控制台进入对应实例的「Cloud Firewall」配置页,添加入站规则:允许TCP协议的5000端口访问,源地址可暂时设为0.0.0.0/0测试。 - 第三步:本地服务与网络验证
先在服务器本地执行curl命令验证服务可用性:
若本地访问正常但公网仍无法访问,可尝试更换服务端口为8080等常用测试端口(需同步修改app.run配置、ufw规则、Linode云防火墙规则),避免本地运营商或网络环境封禁5000端口。curl http://127.0.0.1:5000 - 临时后台运行说明
测试阶段不要关闭启动Flask的终端窗口,如需后台挂起可使用nohup命令:nohup python3 main.py &
内容的提问来源于stack exchange,提问作者leaf
相关产品推荐
相关产品推荐

