随笔分类 -  web

web server
摘要:在前面的文章曾介绍过gunicorn的syncworker,本文介绍其中一种asyncworker:GeventWorker。类图如下: 可见GeventWorker重载了init_process(这个方法是Worker唯一暴露给外界的接口),源码如下: 1 def init_process(sel 阅读全文
posted @ 2017-02-10 09:18 xybaby 阅读(4568) 评论(0) 推荐(1) 编辑
摘要:gunicorn支持不同的worker类型,同步或者异步,异步的话包括基于gevent、基于eventlet、基于Aiohttp(python版本需要大于3.3),也有多线程的版本。下面是gunicorn当前版本(19.6.0)支持的Worker类型: sync eventlet - Require 阅读全文
posted @ 2017-01-20 16:00 xybaby 阅读(2916) 评论(1) 推荐(0) 编辑
摘要:在这篇文章中,提到了Master进程对信号的处理函数,其中有两个信号比较有意思。 SIGHUP:用来热更新(Reload)应用 SIGUSR2:用来在线升级(upgrade on the fly)gunicorn 下面来详细看一下: SIGHUP: Reload the configuration, 阅读全文
posted @ 2017-01-20 09:49 xybaby 阅读(4373) 评论(0) 推荐(0) 编辑
摘要:如前文所述,Arbiter是gunicorn master进程的核心。Arbiter主要负责管理worker进程,包括启动、监控、杀掉Worker进程;同时,Arbiter在某些信号发生的时候还可以热更新(reload)App应用,或者在线升级gunicorn。Arbiter的核心代码在一个文件里面 阅读全文
posted @ 2017-01-20 09:33 xybaby 阅读(3166) 评论(2) 推荐(0) 编辑
摘要:gunicorn是一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。Gunicorn使用prefork master-worker模型(在gunicorn中,master被称为arbiter),能够与各种wsgi web框架协作。gu 阅读全文
posted @ 2017-01-19 23:02 xybaby 阅读(49565) 评论(2) 推荐(3) 编辑
摘要:bottle 是一个轻量级的python web框架, 可以适配各种web服务器,包括python自带的wsgiref(默认),gevent, cherrypy,gunicorn等等。bottle是单文件形式发布,源码在这里可以下载,代码量不多,可以用来学习web框架。这里也有官方文档的中文翻译。 阅读全文
posted @ 2017-01-19 14:14 xybaby 阅读(25405) 评论(1) 推荐(6) 编辑
摘要:wsgi全称是"Web Server Gateway Interfacfe",web服务器网关接口,wsgi在python2.5中加入,是web服务器和web应用的标准接口,任何实现了该接口的web服务器和web应用都能无缝协作。来看一个形象点的图: 如上图所示(图片来自这里),wsgi一端连接we 阅读全文
posted @ 2017-01-18 22:53 xybaby 阅读(6576) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示