[uwsgi]
master=true
在uWSGI配置文件中,`master`是一个重要的参数,它用来指定uWSGI是否以主进程(master)模式运行。当`master=true`时,uWSGI会创建一个主进程,该主进程会负责管理其他工作进程(worker)的生命周期,包括启动、停止和重新加载配置等。
以下是`master=true`的一些关键点:
1. **进程管理**:主进程会管理所有的工作进程,包括它们的创建和销毁。
2. **优雅重启**:当需要重新加载配置或更新代码时,主进程可以优雅地重启工作进程,无需中断服务。
3. **资源监控**:主进程可以监控工作进程的状态,如内存使用、CPU使用等,并对异常进程进行处理。
4. **日志记录**:主进程可以统一管理日志记录,收集所有工作进程的日志信息。
### 举例说明:
假设你有一个web应用,需要运行在多个工作进程中以提高并发处理能力。使用uWSGI时,你可以这样配置:
[uwsgi]
master = true
socket = 127.0.0.1:3031
chdir = /path/to/your/app
module = your_app.wsgi:application
processes = 4
threads = 2
这里的配置意味着:
- `master = true`:指定uWSGI以主进程模式运行。
- `socket = 127.0.0.1:3031`:指定uWSGI监听的IP地址和端口。
- `chdir = /path/to/your/app`:设置工作目录为应用所在的目录。
- `module = your_app.wsgi:application`:指定Python模块和WSGI应用对象。
- `processes = 4`:创建4个工作进程。
- `threads = 2`:每个工作进程创建2个线程。
在这个配置下,uWSGI会启动一个主进程和4个工作进程(每个进程有2个线程),总共可以同时处理8个请求。主进程会负责管理这些工作进程,并在需要时进行优雅重启,确保服务的高可用性和稳定性。