Skip to main content

将Supervisor 2升级到3

将安装从Supervisor 2.X升级到Supervisor 3.X时,以下内容是正确的:

  1. [program:x] 部分中,密钥 logfilelogfile_backupslogfile_maxbyteslog_stderrlog_stdout 不再有效。 Supervisor2将stderr和stdout都记录到一个日志文件中。 Supervisor 3将stderr和stdout注册为单独的日志文件。您需要重命名 logfilestdout_logfilelogfile_backupsstdout_logfile_backupslogfile_maxbytesstdout_logfile_maxbytes 至少保留您的配置。如果您创建的程序段中 log_stderr 为true,为了保留将stderr输出发送到stdout日志的行为,请改用程序段中的 redirect_stderr 布尔值。

  2. 管理程序配置文件必须逐字包括以下部分,以使XML-RPC接口(以及Web界面和 supervisorctl)正常工作:

    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    
  3. [program:x] 部分中 autorestart 参数的语义已更改。此参数用于仅接受 truefalse。它现在接受一个附加的值 unexpected,它表示只有当进程配置中的 exitcode 参数(意味着进程崩溃)的退出代码不匹配任何那些时,进程才能从 EXITED 状态重新启动。此外,autorestart 的默认值现在是 unexpected (它以前是 true,意味着无条件重新启动)。

  4. 我们现在允许 supervisord 在UNIX域套接字和inet套接字上监听,而不是在一个互斥监听,另一个监听。因此,选项 http_porthttp_usernamehttp_passwordsockchmodsockchown 不再是 [supervisord] 段配置的一部分。这些已经被另外两个部分取代:[unix_http_server][inet_http_server]。您需要插入一个或另一个(取决于您是要在UNIX域套接字或TCP套接字上分别侦听)还是两者都插入到您的 supervisord.conf 文件中。这些部分有自己的选项(如果适用) portusernamepasswordchmodchown

  5. http_porthttp_usernamehttp_passwordsockchmodsockchown 相关的所有supervisord命令行选项已删除(请参阅上述要点)。

  6. 以前在 [supervisord] 部分(现在在 [unix_http_server] 部分中命名为 chown)内为 sockchown 的选项用于接受点分隔(user.group)值。现在分隔符必须是冒号,例如 user:group。Unices允许在用户名中的点,所以这个更改是一个bug修复。