Flask自带的服务器是否安全可靠用于生产环境?如果不是,那么该如何在生产环境中部署Flask?
os.system('rm -rf /')
)。推荐的方法是使用生产WSGI服务器来运行您的Flask应用程序。在文档中有一个专门的部分部署选项。开发服务器不适用于生产系统。它专为开发目的而设计,负载高时性能较差。有关部署设置,请查看应用程序部署页面。
gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
+----------+
| Client 2 |
+----------+
|
V
+----------+ +-------+ +----------+
| Client 1 |----->| nginx |<-----| Client 3 |
+----------+ +-------+ +----------+
^
|
V
/--------------------\
| useful nginx stuff |
| like asset serving |
| and rate limiting |
\--------------------/
|
V
+-------------+
| WSGI server |
+-------------+
supervisor
+ gunicorn
+ nginx
。这个组合非常容易设置和维护。 - Anton Egorov基本上,不行。内置的开发服务器不适合在生产环境中部署。
内置的开发服务器只是为了开发使用。如果要在生产环境中使用,应该按照这里详细说明的步骤进行操作。
这些步骤包括实现WSGI规范的不同服务器,例如Apache/mod_wsgi或其中一个独立的WSGI服务器http://flask.pocoo.org/docs/deploying/wsgi-standalone/
虽然Flask框架的内置服务器轻量且易于使用,但它不适合用于生产环境,因为它无法很好地扩展,并且默认情况下一次只能处理一个请求。
http://flask.pocoo.org/docs/0.12/deploying/