Ste*_*n K 6 python wsgi nginx flask
因此,从Python/Flask文档中,他们都建议不要将Flask Web服务器作为生产Web服务器运行,这是有意义的.我的问题是,我能够在Nginx服务器上运行我的Flask应用程序吗?为什么互联网上的所有指南都建议在UWSGI,Tornado或其他一些WSGI服务器上包装Flask?WSGI是什么意思?Flask WGSI不兼容吗?
我特别迷失,因为在这里,第一个回应指出:
Apache和Nginx都是HTTP服务器.它们可以提供静态文件,如(.jpg和.html文件)或动态页面(如Wordpress博客或用PHP或Python等语言编写的论坛).
不过这篇文章指出:
Nginx是一个Web服务器.它提供静态文件,但它无法执行和托管Python应用程序.uWSGI填补了这一空白.
我的应用程序由服务器(例如:uWSGI)和另一台服务器(例如:Nginx)处理似乎效率低下.
dav*_*ism 14
Nginx是一个Web服务器,关注Web服务器的东西,而不是如何运行Python程序.uWSGI是一个应用服务器,知道如何用Python(现在和其他语言)说WSGI.Nginx和uWSGI都使用uWSGI协议,这是一种比UNIX套接字更有效的协议.
Nginx处理来自/响应外部世界的http请求(可能是负载平衡,缓存等).Flask应用程序处理WSGI请求/响应.uWSGI知道如何启动应用程序(可能使用多处理和/或线程)并弥合HTTP和WSGI之间的差距.
除了NWSx之外还有其他HTTP服务器,以及除uWSGI之外的其他WSGI服务器,但它们都使用相同的工作流:HTTP服务器传递给WSGI服务器,后者管理您的应用程序进程并传递回HTTP服务器.
此设置称为反向代理.它允许每个工具做它擅长的事情而不关心过程的其他部分.没有什么特别低效的东西,直到你达到真正的大规模.
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |