Flask启动app.run(host='0.0.0.0',port=5000),外网依然不能访问

这段时间用Flask写了一个小项目, 尝试部署到阿里云服务器上,本来项目并不复杂,可是部署的时候却踩了很多坑。
通过PyCharm创建项目,在app.py中做了一些配置后,是这样的:

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

显然,这样是失败的,查了一些资料,Flask运行app.run()是默认的127.0.0.1:5000, 命令行显示如下:

root@iZwz98p61d8twwl8rrjhj5Z:~/iAsk/iask# python app.py 
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

然后将app.run()指定host参数,app.run(host=’0.0.0.0’), 这样解决的一个问题,外网理论上是能够访问的, 然而并没有,还是访问不了…..这个时候,又想抓狂了, 然后又将5000端口改成8000,9000, 8080等等等等, 反正就是不行, 本地浏览器访问服务器公网地址仍然无法访问。
最终,我在网上查了N种方法,反复测试, 终于找到问题所在, 原来阿里云服务器安全组里要添加访问的端口, 而这个过程要在阿里云服务器的网页上操作。

image.png
如图是我为Nginx添加的80端口,
这次将app.run()添加80端口,app.run(host=’0.0.0.0’, port=80), 这样再从外网访问就可以了。
当然这样部署Flask肯定是不可以的,根本无法应用与生成环境,这只能算正式部署前的一个网络访问测试。通过Nginx,WSGI进行正式部署还有待研究。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值