Python@IT·互联网生活不易 我用python

如何部署你的python web应用(一)

2016-11-13  本文已影响730人  treelake

学习python web 应用程序很长时间了,可是对python web 的部署一直比较模糊,需要整理一下,由于很多问题已经有说得很清楚的优秀文章,所以先留存链接。

准备知识:


不幸的是,与Python世界中的大多数事情不同,当涉及到选择生产服务器堆栈来部署应用程序时,并没有一个明显最好的选择。
衡量你的需求和要求后,你才能够决定使用哪个服务器。我们首先关注的是该web服务器的人气,稳定性和突出特点。要注意的是:警惕有偏见和欺骗性的基准,这些基准往往不能反映真实生产环境的条件。


Python Web Server Gateway Interface v1.0 (WSGI)

问题

在上个世纪,开发人员并不能轻松地切换web服务器,选择了一个web应用程序框架往往也意味着决定了相应的web服务器。这是由于缺乏普遍的接口规范:应用程序(框架)和Web服务器都应该适配的用于互相通信的规则(允许在不改变代码下的互换性)。

标准的诞生

在本世纪初,Python社区提出PEP-333来解决这个问题:

This document specifies a proposed standard
interface between web servers and Python web
applications or frameworks, to promote web
application portability across a variety of
web servers.

这个新标准意味着保障Web服务器和Python Web应用程序之间的可移植性。该标准的强大特性和广泛采用形成了今天的局面:存在着许多( 也许是太多 :) )愿意为你工作的web服务器。


Python Web服务器(按字母排序)

  1. CherryPy WSGI Server

详细比较请看:
Python Web应用程序(如Django,Flask)的Web服务器比较


nginx处理静态文件,转发其他请求到uwsgi [最大吞吐量 (网络框架的基本成本)](http://brianmcdonnell.github.io/pycon_ie_2013/#/) - Weighttp用于对web服务器做简单的压力测试

其它链接

WSGI Servers - Full Stack Python
Web Servers and Python - Python Wiki
Web Frameworks for Python - Python Wiki
WSGI接口 - 廖雪峰python教程
WSGI简介 - Segmentfault
第一次写web就上手 - 台湾python wiki群组

上一篇 下一篇

猜你喜欢

热点阅读