uwsgi配置详解,实现按需启动进程、回收进程,重启进程等复杂的策略

本文详细解析了UWSGI的配置文件,包括如何通过uwsgi.ini启动和停止服务,配置http端口、socket端口、Django wsgi文件路径、工作进程数、线程数、cheap模式参数、超时时间、日志输出等关键设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#先激活virtualenv
#启动:uwsgi uwsgi.ini
#停止: uwsgi --stop uwsgi.pid

[uwsgi]
# 对外提供 http 服务的端口
http = :8000
 
#the local unix socket file than commnuincate to Nginx   用于和 nginx 进行数据交互的端口
socket = 127.0.0.1:8001
 
# the base directory (full path)  django 程序的主目录
chdir =/home/opadm/mms_webserver/src
 
# Django's wsgi file
wsgi-file =src/wsgi.py
 
# maximum number of worker processes
processes = 100
 
#thread numbers startched in each worker process
threads = 10

#一个高阶的cheap模式,在启动的时候只会分配n个工作进程,并使用自适应算法启动新的进程
cheaper = 10

#在经过sec秒的不活跃状态的进程会被销毁(进入了cheap模式),并最少保留cheaper指定的进程数
idle = 3600
 
#monitor uwsgi status  通过该端口可以监控 uwsgi 的负载情况
stats = 127.0.0.1:9000

#设置一个请求的超时时间(秒),如果一个请求超过了这个时间,则请求被丢弃
harakiri = 60
#当一个请求被harakiri杀掉会,会输出一条日志
harakiri-verbose = true

#开启内存使用情况报告
memory-report = true

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

#设置工作进程使用虚拟内存超过N MB就回收重启
reload-on-as= 1024

#自动给进程命名
auto-procname = true

#为进程指定前缀
procname-prefix-spaced = xc-mms

#设置工作进程每处理N个进程就会被回收重启
max-requests=500000

#设置工作进程使用物理内存超过N MB就回收重启
reload-on-rss=100

#设置socket超时时间,默认4秒
socket-timeout=10

#限制http请求体的大小(Bytes)
limit-post=4096
 
# clear environment on exit
vacuum          = true
 
#不记录request日志,只记录错误日志
disable-logging = true

#将日志打印到syslog上
#log-syslog = true

# 后台运行,并输出日志
daemonize = /home/opadm/log/uwsgi.log

stats=./uwsgi.status
pidfile=./uwsgi.pid

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ztenv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值