0
gunicorn -w 4 -b 168.61.9.41:9876 run:app

gunicorn监听端口和flask配置中监听端口一致,此时curl此端口没有问题,可以处理请求。
但是如果两者监听端口不同,比如gunicorn监听A端口,flask配置监听B端口,此时A端口在netstat可以查看状态,B端口则不能,访问A端口返回404,访问B端口则被拒绝(因为未开放?),那么这两者端口的联系是什么呢?gunicorn配置中的端口的意义是什么呢?

我发现,如果flask不配置生产环境监听端口的话,就会以gunicorn为准,但是如果配置的话就要两者一样,是这么个逻辑吗??

6月27日提问
3 个回答
1

已采纳

flask自带的app.run只适用于用来开发调试,并不适用用于生产环境,一般会配合WGSI容器来进行,也就是gunicorn了,所以你用了gunicorn启动的时候,不应该再使用app.run来启动

0

你所说的Flask配置的端口,不过是Flask内置的一个开发Web Server而已,官方文档也有说明,不推荐(不能)生产环境使用。
而Gunicorn就是一个WSGI HTTP Server。当你gunicorn -w 4 -b 0.0.0.0:9876 run:app 这样是不需要FLask配置的端口的,因为配置了也没用。

你的问题应该是168.61.9.41 这个IP的问题,你换成0.0.0.0试试。

你需要访问的端口是 9876

0

gunicorn的为准,你部署gunicorn就是通过它去代理你flask程序的

撰写答案

推广链接