用于unix的wsgi http服务器
grainbows的Python项目详细描述
grainbow'green rainbows'是一个用于unix的wsgi http服务器,用于睡眠应用程序。它是基于Gunicorn的,但它的设计目的是处理那些期望长请求/响应时间和/或慢客户端的应用程序。对于其他应用程序,应该使用gunicorn,因为它更易于调试。
功能
应用程序
- websockets(请参见example),请参见demo
- 反向代理实现(使用Restkit WSGI proxy)
- 彗星
- 长轮询
- …
安装
grainbows要求python 2.x优于2.5。
从源安装:
$ python setup.py install
或者来自pypi:
$ easy_install -U grainbows
默认情况下,grainbrows使用Gunicorn仲裁器,因此您不会有任何好处。您需要安装Eventlet或Gevent才能使用并发功能。
做:
$ easy_install -U eventlet
如果要使用gevent,请将eventlet替换为gevent。
用法
对于wsgi应用程序:
启动example application打包的grainbows:
$ cd /path/to/grainbows/examples/ $ grainbows websocket:app
然后继续http://localhost:8000查看结果。
note:默认情况下,配置设置为使用eventlet。如果要使用gevent进行测试,请编辑grainbrows.conf.py文件,并用use=“gevent”替换use=“eventlet”。
模块test_keepalive:app指定完整的模块名和wsgi可调用。您可以用PYTHONPATH上可用的任何内容替换它,例如:
$ cd ~/ $ grainbows -c /path/to/configfile.py awesomeproject.wsgi.main:main_app
完整的命令行用法:
$ grainbows --help Usage: grainbows [OPTIONS] APP_MODULE Options: --use=USE method to use (eventlet, gevent) -c CONFIG, --config=CONFIG Config file. [none] -b BIND, --bind=BIND Adress to listen on. Ex. 127.0.0.1:8000 or unix:/tmp/gunicorn.sock -w WORKERS, --workers=WORKERS Number of workers to spawn. [1] -p PIDFILE, --pid=PIDFILE set the background PID FILE -D, --daemon Run daemonized in the background. -m UMASK, --umask=UMASK Define umask of daemon process -u USER, --user=USER Change worker user -g GROUP, --group=GROUP Change worker group -n PROC_NAME, --name=PROC_NAME Process name --log-level=LOGLEVEL Log level below which to silence messages. [info] --log-file=LOGFILE Log to a file. - equals stdout. [-] -d, --debug Debug mode. only 1 worker. --version show program's version number and exit -h, --help show this help message and exit
对于Django应用程序,使用grainbrows_django命令行;对于Paste兼容的应用程序(Pylons,TurboGears 2,…),使用grainbrows_paste。有关详细信息,请参见gunicorn网站上的usage页面。
配置文件
需要一个配置文件来设置特定的设置。可以找到一个例子here
use = "eventlet" worker_connections = 1000
您还可以配置其他设置,有关详细信息,请参见Gunicorn configuration页。