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

标签 python nginx webserver tornado bottle

所以我阅读了一些有关 Python 网络框架(或服务器?)的文章,主要是 TornadoBottle还有FAPWS3 , 还有一些灰色地带。

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

最佳答案

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

Web 框架通常作为 WSGI 运行。 HTTP(“网络”)代理后面的服务器。大多数框架中包含的 HTTP 服务器只是为了快速开发和部署,以及在不注重效率的站点上轻松部署。

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

关于python - 独立的 Python Web 服务器和/或 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8107986/

相关文章:

python xarray 丢失时间变量的单位属性

python - GTK3 - Python Treeview 固定高度模式属性问题

python - 如何迭代笛卡尔积以便首先组合顶级项目?

tomcat - Nginx tomcat 抛出断管错误

c# - 在 C# 中使用 HTTP 发送 PNG

linux - 使用反向代理记录所有传入的 HTTP 请求,然后在克隆服务器中执行它以进行性能测试

python - 如何通过手动填充 __class__ 单元格来使 super() 工作?

c# - 刷新asp.net core 2.0上的静态html缓存

angular - 带 Angular 4 的 nginx

performance - Go http 服务器基准测试性能慢