一个uwsgi配置示例

摘自:http://my.oschina.net/guol/blog/121418


uwsgi配置/etc/uwsgi/apps-enabled/default.xml

01 <uwsgi>
02     <plugin>python</plugin>
03     <socket>127.0.0.1:9001</socket>
04     <pythonpath>/var/www/example/app/</pythonpath>
05     <app mountpoint="/">
06         <script>wsgi_configuration_module</script>
07     </app>
08     <master/>
09     <processes>4</processes>
10     <reload-mercy>8</reload-mercy>
11     <cpu-affinity>1</cpu-affinity>
12     <max-requests>2000</max-requests>
13     <limit-as>512</limit-as>
14     <reload-on-as>256</reload-on-as>
15     <reload-on-rss>192</reload-on-rss>
16     <no-orphans/>
17     <vacuum/>
18 </uwsgi>

    uwsgi配置文件中的参数也可以在命令行通过uwsgi指定,配置文件除了xml格式外,还可以写成ini格式的,软件包安装完毕后在/usr/share/doc/uwsgi/examples/conffile目录下会有一些xml和ini格式配置文件的例子。

wsgi_configuration_module.py脚本内容

01 #!/usr/bin/python
02 import os
03 import sys
04 sys.path.append('/var/www/example/app')
05 os.environ['PYTHON_EGG_CACHE'] = '/var/www/example/.python-egg'
06 def application(environ, start_response):
07     status = '200 OK'
08     output = 'Hello World!'
09     response_headers = [('Content-type''text/plain'),
10                     ('Content-Length', str(len(output)))]
11     start_response(status, response_headers)
12     return [output]
启动uwsgi

1 uwsgi -x /etc/uwsgi/apps-enabled/default.xml --daemonize /var/log/uwsgi/app/default.log

uwsgi 的参数: 
    -M 开启Master进程 
    -p 4 开启4个进程 
    -s 使用的端口或者socket地址 
    -d 使用daemon的方式运行, 注意, 使用-d后, 需要加上log文件地址, 比如-d /var/log/uwsgi.log 
    -R 10000 开启10000个进程后, 自动respawn下 
    -t 30 设置30s的超时时间, 超时后, 自动放弃该链接 
    –limit-as 32 将进程的总内存量控制在32M 
    -x  使用配置文件模式

并发4个线程
uwsgi -s :9090 -w myapp -p 4
主控制线程+4个线程
uwsgi -s :9090 -w myapp -M -p 4
执行超过30秒的client直接放弃
uwsgi -s :9090 -w myapp -M -p 4 -t 30
限制内存空间128M
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128
服务超过10000个req自动respawn
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000
后台运行等
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log 

      除了直接用uwsgi命令启动外,还可以用init.d下的脚本启动, 不过需先修 改/etc/default/u wsgi中默认配置文件的路径,然后通过/etc/init.d/uwsgi start启动

1 #INHERITED_CONFIG=/usr/share/uwsgi/conf/default.ini
2 INHERITED_CONFIG=/etc/uwsgi/apps-enabled/default.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值