美文网首页Python@IT·互联网生活不易 我用python
如何部署你的python web应用(一)

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

作者: treelake | 来源:发表于2016-11-13 11:44 被阅读730次

    学习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
    • Gunicorn
    • Tornado (HTTP Server via wsgi.WSGIContainer)
    • Twisted Web
    • uWSGI
    • Waitress WSGI Server
    • Modules for Stand-Alone Servers
      mod_python with a WSGI adapter (Apache) (Embedding Python)

    详细比较请看:
    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群组

    相关文章

      网友评论

        本文标题:如何部署你的python web应用(一)

        本文链接:https://www.haomeiwen.com/subject/krccpttx.html