[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