johnchow

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

 

分类:

技术点:

相关文章:

  • 2021-05-01
  • 2022-12-23
  • 2021-10-07
  • 2021-11-20
  • 2021-07-30
  • 2022-12-23
  • 2021-07-09
猜你喜欢
  • 2022-01-02
  • 2021-11-02
  • 2021-11-13
  • 2021-09-02
  • 2021-11-06
  • 2021-03-28
相关资源
相似解决方案