socket
uwsgi监听的socket,可以为socket文件或ip地址+端口号
socket = /www/wwwroot/web/script/uwsgi.sock
socket = :8080
用nginx的时候就配socket , 直接运行的时候配 http
指定IP端口 // 直接外部访问
http-socket = 127.0.0.1:8080
chadir
指定项目的目录,在app加载前切换到当前目录
module
指定项目的application,加载指定的python WSGI模块(模块路径必须在PYTHONPATH里)
master
相当于master=true,启动一个master进程来管理其他进程,以上述配置为例,其中的4个uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程
processes
开启的进程数量(和worker作用相同)
uwsgi启动用户名和用户组
uid = www
gid = www
进程个数
processes = 5
pidfile = /www/wwwroot/web/script/uwsgi.pid
vacuum
自动移除unix Socket 和 Pid 文件 当服务停止的时候
vacuum = true
thunder-lock
序列化接受的内容,如果可能的话
thunder-lock = true
enable-threads
启用线程
enable-threads = true
post-buffering
设置缓冲
post-buffering = 4096
static-map
设置静态文件
static-map = /static=//www/wwwroot/mysite/static
daemonize
使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(不会影响nginx日志的输出)
daemonize = /www/wwwroot/mysite/uwsgi.log
pythonpath
给PYTHONPATH 增加一个目录(或者一个egg),最多可以使用该选项64次。
pidfile
在失去权限前,将master的pid写到当前文件中
protocol
设置默认的通信协议(uwsgi,http,fastcgi)
harakiri
这个选项会设置harakiri超时时间(可以看wiki首页的相关内容)。如果一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)。
buffer-size
设置用于uwsgi包解析的内部缓存区大小。默认是4k。
如果你打算接受一个拥有很多请求头的大请求,你可以增加这个值到64k。
这个命令会允许uWSGI服务器接收最大为32k的uwsgi包,再大的包就会被拒绝。
chmod-socket or chmod
unix socket是个文件,所以会受到unix系统的权限限制。如果你的uwsgi客户端没有权限访问uWSGI socket,你可以用这个选项设置unix socket的权限。
当在xml配置文件中只是用这个选项作为一个标识符,那么会将权限设为666,否则就是设置为指定的权限值。
chmod-socket = 755
auto-procname
这个选项将自动给uWSGI的进程设置一些有意义的名字,例如“uWSGI master”, “uWSGI worker 1”, “uWSGI worker 2”。
socket-timeout
为所有的socket操作设置内部超时时间(默认4秒)。
这个配置会结束那些处于不活动状态超过10秒的连接。
网友评论