uwsgi - flask

[uwsgi]
# 主进程
master = true

# uwsgi 启动时所使用的地址与端口
http = 0.0.0.0:5000

# 项目位置
chdir = /data/PM/MyApp

# python 启动程序文件
wsgi-file = app.py

# python 程序内用以启动的 application 变量名
callable = app

# 处理器数
processes = 8

# 线程数
threads = 4
enable-threads=True

#harakiri = 150
#socked-timeout = 150
#http-timeout = 150
#buffer-size=8192
#ignore-sigpipe=true
#ignore-write-errors=true

listen=128

#设置平滑的重启(直到处理完接收到的请求)的长等待时间(秒)
reload-mercy = 8

# uWsgi默认的buffersize为4096,如果请求数据超过这个量会报错。这里设置为32k
buffer-size = 32768

# 如果http请求体的大小超过指定的限制,打开http body缓冲,这里为64k
post-buffering=65536

# 服务停止时,自动移除unix socket和pid文件
vacuum=True

#状态检测地址
#stats = 0.0.0.0:9195

# stats=/data/PM/MyApp/uwsgi.status
pidfile=/data/PM/MyApp/uwsgi.pid
logto=/data/PM/MyApp/logs/uwsgi.log

uwsgi 与服务链接时间:
1.http-timeout和socket-timeout(连接时间)
http-timeout=60 # 就是60秒
一般情况下,我们的uwsgi都是配合nginx使用的,所以用的都是socket-timeout参数。
这两者的区别简单说就是:uwsgi单独使用就用http, 配合nginx就用socket

解释下这两个时间的意义:
举个例子:
	前端(客户端)访问后端(服务器),服务器需要运行5分钟才能给前端返回响应,
	但是http-timeout或者socket-timeout设置的是60,那么一分钟后,我的前端和后端
	就断开连接了, 
	!但是!我的服务器还是会坚持把这5分钟的活干完,只不过没有办法给前端返回
	响应了!
	(顾客去餐厅吃饭,做饭需要10分钟才能上菜,顾客等了1分钟就跑路了!)

2.harakiri选项用于设置请求的超时时间(以秒为单位)。当请求处理时间超过此值时,uWSGI将终止请求并返回错误。
harakiri = 60 # 设置超时时间为60秒

http-timeout = 60
harakiri = 60

连接时间参考文档:
https://blog.csdn.net/ch_improve/article/details/104203272

posted @ 2022-07-13 10:56  一枚码农  阅读(89)  评论(0编辑  收藏  举报