独立的Python Web服务器和/或nginx

ser*_*dev 2 python webserver nginx tornado bottle

所以我已经完成了一些关于Python Web框架(或服务器?)的阅读,主要是TornadoBottle,还有FAPWS3,还有一些灰色地带.

首先,这三个Web框架都被称为快速,但它们都包含一个用Python编写的Web服务器(FAPWS3除外),它应该放在nginx/Apache之后.这不是降低性能吗?我的意思是,我们知道Python比C慢得多,为什么不只使用nginx,或者最糟糕的是,只使用包含的Python Web服务器?

Joc*_*zel 7

首先,Tornado和FAPWS3是Web服务器,而Bottle是一个Web框架.那些属于完全不同的类别.

Web框架通常作为HTTP("web")代理后面的WSGI服务器运行.大多数框架中包含的HTTP服务器仅用于快速开发和部署,并且在高效率无关紧要的站点上轻松部署.

基本上,HTTP Server(Apache/Lighttpd/Nginx/Tornado/FAPWS3等)非常擅长理解HTTP并从磁盘提供静态文件.另一方面,动态内容由Python服务器使用诸如Bottle/Flask/web.py/Pylons/etc之类的Web框架生成.然后,Web框架生成的文档将通过WSGI发送回HTTP服务器,放入HTTP响应并发送到客户端.