我采用的.ini文件
[uwsgi]
master = true
wsgi-file=myppt/wsgi.py
processes = 1
threads = 2
chdir = /www/wwwroot/ppt_jpg/myppt/
http = 127.0.0.1:9876
virtualenv=/www/wwwroot/ppt_jpg/myppt/ppt_venv
daemonize=uwsgi.log
logto=/www/wwwroot/ppt_jpg/myppt/logs/error.log
pidfile=uwsgi.pid
harakiri=3600
http-timeout=3600
chmod-socket = 660
python-autoreload=1
buffer-size=220000000
socket-timeout=3600
vacuum = true
master = true
max-requests = 1000
http-timeout=60 # 就是60秒
一般情况下,我们的uwsgi都是配合nginx使用的,所以用的都是socket-timeout参数。
这两者的区别简单说就是:uwsgi单独使用就用http, 配合nginx就用socket
解释下这两个时间的意义:
举个例子:
前端(客户端)访问后端(服务器),服务器需要运行5分钟才能给前端返回响应,
但是http-timeout或者socket-timeout设置的是60,那么一分钟后,我的前端和后端
就断开连接了,
!但是!我的服务器还是会坚持把这5分钟的活干完,只不过没有办法给前端返回
响应了!
(顾客去餐厅吃饭,做饭需要10分钟才能上菜,顾客等了1分钟就跑路了!)
harakiri=60 # 就是60秒
和http-timeout有点类似,举个例子:
前端(客户端)向后端(服务器)发送到一个请求,等待服务器响应,服务器
需要1分钟来计算数据,但是我的harakiri就设置了10秒,那么10秒一到,
我们的服务器就强制终止了计算,前端肯定就得不到响应了。
(老板给员工发了一个任务,这个任务需要5天完成,这个员工干了一天
就撂挑子了!)
buffer-size=1024 # 就是1024k,1M
这个容易理解,比如前段(客户端)向后端(服务器)发了一个请求,这个
请求的大小是5M,那么buffer-size的大小就得大于1024*5,不然就报错了