自以为是的uwsgi设置
mywsgi的Python项目详细描述
mywsgi
为新的python项目设置uWSGI很困难。uwsgi提供了一百万种配置选项 千方百计去做每件事。我已经把它简化为一组核心的基本选项。
这些选择都是非常固执己见的,我是如何成长为喜欢做的事情。
安装
pip install mywsgi
如何操作
使用mywsgi有两个api。一个python api和一个cli api。
cli
mywsgi附带了一个cli接口。这是最简单的方法。
$ mywsgi --help usage: mywsgi [-h] module bind positional arguments: module python wsgi module bind ip:port to bind to optional arguments: -h, --help show this help message and exit
mywsgi foo.wsgi:application 127.0.0.1:8000
如果要覆盖或更改任何uwsgi变量,唯一的方法是通过 uwsgi的本地环境变量。例如:
exportUWSGI_MAX_REQUESTS=1000exportUWSGI_HARAKIRI=30 mywsgi foo.wsgi:application 127.0.0.1:8000
python api
python api很简单,它公开了一个带有两个必需参数的函数。
importmywsgimywsgi.run("foo.wsgi:application","127.0.0.1:8000",)
运行这个最终exec
并将所有控制权交给uWSGI
。所以除了这个电话,
别的什么也跑不了。你的程序不见了。
您可以将额外的uwsgi参数作为额外的kwargs一起传递给它:
importmywsgimywsgi.run("foo.wsgi:application","127.0.0.1:8000"max_requests=10000,harakiri=30,)
任何作为kwargs传入的内容都将直接传递给uwsgi,并将覆盖我的默认值。
带上你自己的uwsgi
这个包不直接需要uwsgi,但是它支持使用uWSGI
包和伟大的pyuwsgi
包。
我强烈建议使用pyuwsgi
,而不是直接使用uWSGI
。pyuwsgi
只是uWSGI
的编译二进制分布。