Files

99 lines
2.7 KiB
INI
Executable File

[uwsgi]
# 指定 WSGI 应用的入口模块和对象
# 格式为 module:callable,例如 app:app 表示模块名为 app.py,应用对象为 app
module = app:app
# 指定 uWSGI 监听的 HTTP 地址和端口
# 如果使用 Nginx 反向代理,可以注释掉此行
http = 0.0.0.0:18019
# 设置 uWSGI 启动的进程数
# 根据服务器性能和需求调整进程数
processes = 4
# 设置每个进程的线程数
# 线程数和进程数共同影响并发处理能力
threads = 2
# 启用主进程
master = true
# 优雅地重启工作进程
# 当收到SIGINT信号时,等待当前请求完成后再重启
reload-mercy = 10
# 进程超时时间(秒),如果一个请求处理时间超过这个值,工作进程会被杀死
harakiri = 30
# 接收到请求的队列最大长度,如果队列已满,新的请求将被拒绝
listen = 100
# 最大并发请求数
max-requests = 1000
# 每个工作进程处理完指定数量的请求后自动重启,防止内存泄漏
max-worker-lifetime = 3600
# 缓冲区大小设置
buffer-size = 32768
# 指定日志文件的路径
# uWSGI 的运行日志将写入此文件
logto = /home/v6ole/pyproject/4an/uwsgi.log
# 指定虚拟环境的路径
# uWSGI 将使用此虚拟环境中的 Python 解释器和依赖库
virtualenv = /home/v6ole/pyproject/venv
# 设置应用的根目录
# uWSGI 将切换到此目录运行,确保应用的相对路径正确
chdir = /home/v6ole/pyproject/4an/app
# 设置 PID 文件的路径
# PID 文件用于管理 uWSGI 进程(如停止、重启)
pidfile = /home/v6ole/pyproject/4an/uwsgi.pid
# 设置 Unix Socket 文件的路径
# 用于与 Nginx 或其他代理服务器通信
# 如果使用 HTTP 模式,可以注释掉此行
socket = /home/v6ole/pyproject/4an/uwsgi.sock
# 设置 Socket 文件的权限
# 660 表示只有所有者和所属组有读写权限
chmod-socket = 660
# 当 uWSGI 退出时,自动清理其创建的套接字和 PID 文件
# 保持环境整洁,避免遗留文件
vacuum = true
# 设置日志文件的最大大小(单位为字节)
# 当日志文件达到此大小时,uWSGI 将自动轮转日志
# 示例值为 10MB
log-maxsize = 10000000
# 禁用请求日志,减少IO负担
disable-logging = true
log-slow = 1000 # 只记录处理时间超过1000ms的请求
# 紧急情况下尝试恢复的时间(秒)
worker-reload-mercy = 60
# 自动重载配置
py-autoreload = 1
# 内存报告
memory-report = true
# 启用统计服务器
stats = 127.0.0.1:9191
# 平滑重启
touch-chain-reload = true
touch-reload = uwsgi.reload
reload-on-exception = true # 当出现异常时自动重启
# 启用线程支持
enable-threads = true
# 设置自动异常处理
catch-exceptions = true