• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

部署应用的几种方式比较

python作为web服务器上的开发语言,一般都是部署在linux上

部署方法,先都会在服务器前面增加一个nginx,用它来控制对静态文件的访问;对于动态内容,反向代理到web server

制作web server有两种方法,一种是用Python程序编写的web server,比如gevent、tornado;另一种是作为模块,嵌在http server(nginx/apache)上,如uwsgi/mod_wsgi

 

如果只论epoll循环的话: 

  并发效率基本是 tornado < uwsgi < gevent

但是,如果服务器程序中,有sleep、urlopen等耗时操作:

  用tornado框架最高效,因为它本身是异步非阻塞的。其他像django这种,本身是同步的。

 

常见部署都是 nginx + uwsgi + framework / nginx + gevent + framework / nginx + tornado

 

参考:

http://www.cnblogs.com/xusion/articles/3473119.html

http://www.tuicool.com/articles/aiami2

http://nichol.as/benchmark-of-python-web-servers

 

posted on 2015-10-15 15:11  竹千代  阅读(742)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3