Ubuntu笔记本Flask服务器同网络设备无法访问问题求助
问题分析与解决步骤
Flask CLI 会覆盖代码中的
app.run参数
你用flask run命令启动服务时,代码里写的app.run(host="0.0.0.0", port=5000)不会生效——因为Flask CLI的启动逻辑是独立的,不会执行到这行代码。这是最容易踩的坑。
解决方法:启动时直接通过CLI参数绑定0.0.0.0:flask run --host=0.0.0.0 --port=5000也可以通过环境变量预先配置:
export FLASK_RUN_HOST=0.0.0.0 export FLASK_RUN_PORT=5000 flask run检查Ubuntu防火墙规则
Ubuntu默认启用ufw防火墙,5000端口大概率没对外开放。执行以下命令开放端口:sudo ufw allow 5000/tcp验证端口是否开放:
sudo ufw status输出里看到
5000/tcp ALLOW Anywhere就说明配置成功。确认笔记本的WiFi本地IP
其他设备不能用127.0.0.1访问,必须用你笔记本在当前WiFi网络中的实际IP。执行命令查看:ip addr show wlan0找到
inet开头的行(比如inet 192.168.3.105/24),其他设备需要访问http://你的笔记本IP:5000。调试模式的额外注意
调试模式下Flask会自动重启服务器,偶尔会重置绑定的host。务必确保启动命令里明确指定了--host=0.0.0.0,不要只依赖代码里的设置。
内容的提问来源于stack exchange,提问作者deeman
相关产品推荐
相关产品推荐

