uWSGI:大师与皇帝生下两个皇帝



我可以看到,如果我像这样启动uwsgi:

sudo /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals --uid www --gid www

它创造了一个皇帝的复制品。但是,如果我额外使用--master启动它(如这里所推荐的(,它将创建两个皇帝副本。将--master--emperor一起使用有意义吗?我会说不,但如果我在没有该选项的情况下运行它,我会收到以下警告:

*** WARNING: you are running uWSGI without its master process manager ***

以下是官方文档所说的:

一般来说,皇帝不应该和主人一起跑,除非主人特别需要高级日志记录等功能。

如果你想知道master选项的作用,这里有答案:

uWSGI的内置预处理+线程多工作程序管理模式,通过轻按主开关激活服务于部署不使用master不是一个好主意模式

因此,总结一下:

  • 对于通常的uWSGI实例使用CCD_ 6
  • 请勿将--master用于uWSGI Emperor

我不同意-文档说在生产中使用它不是一个好主意not;我想双底片可以写得更清楚一些。

因此,使用它似乎是个好主意,因此发出了警告。

我想添加一些关于在皇帝统治下使用harakiri模式的特定信息。如果master不在诸侯的配置中,那么无论master/harakiri是否在皇帝配置中指定,harakiri都将无效。举一个皇帝配置的例子:

[uwsgi]
emperor = ...
daemonize = ...
emperor-pidfile = ...
vassal-set = enable-metrics=1
emperor-stats = 127.0.0.1:6000

诸侯将需要以下内容才能进行哈拉基里:

[uwsgi]
strict
processes = 4
stats = 127.0.0.1:5000
memory-report
daemonize = ...
pidfile = ...
close-on-exec
py-tracebacker = /tmp/tbsocket
master
harakiri = 5
harakiri-verbose

请注意,master和harakiri都存在于附庸中,在帝王配置中设置它们对uwsgi 2.0.12版本的附庸没有影响

最新更新