uwsgi使用

● ini 格式说明:

1,ini配置为 key=value 形式

2,在ini配置文件里,#号为注释,

3,布尔值为 true  false 

4,在命令行里,uwsgi myconf.ini 等价于 uwsgi --ini myconf.ini 

[uwsgi]  
socket = 127.0.0.1:8000  
wsgi-file = test.py
workers = 4  

● 常用选项:

socket : 地址和端口号,例如:socket = 127.0.0.1:50000

processes : 开启的进程数量

workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number of  workers / processes

chdir : 指定运行目录(chdir to specified directory before apps loading)

wsgi-file : 载入wsgi-file(load .wsgi file)

stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)

threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)

master : 允许主进程存在(enable master process)

daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。

log-maxsize :以固定的文件大小(单位KB),切割日志文件。 例如:log-maxsize = 50000000  就是50M一个日志文件。 

pidfile : 指定pid文件的位置,记录主进程的pid号。

vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)

disable-logging : 不记录请求信息的日志。只记录错误以及uWSGI内部消息到日志中。如果不开启这项,那么你的日志中会大量出现这种记录:

 其他选项说明:

其他选项,具体可以通过 --help 选项来查看:

uwsgi --help

 bottle + uwsgi

from bottle import Bottle, run
mybottle = Bottle()
@mybottle.route('/')
def index():
  return 'default_app'
application=mybottle
./ uwsgi --ini uwsgi.ini -d uwsgi.log

 nginx + uwsgi
        location / {
                include uwsgi_params;
                uwsgi_read_timeout 3600;
                uwsgi_pass 127.0.0.1:8000;
        }
ini改成 socket = 127.0.0.1:8000



猜你喜欢

转载自blog.csdn.net/nawenqiang/article/details/80007547