Supervisor手册

从2升3

The following is true when upgrading an installation from Supervisor 2.X to Supervisor 3.X:

. In [program:x] sections, the keys logfile,

``logfile_backups``, ``logfile_maxbytes``, ``log_stderr`` and
``log_stdout`` are no longer valid.  Supervisor2 logged both
stderr and stdout to a single log file.  Supervisor 3 logs stderr
and stdout to separate log files.  You'll need to rename
``logfile`` to ``stdout_logfile``, ``logfile_backups`` to
``stdout_logfile_backups``, and ``logfile_maxbytes`` to
``stdout_logfile_maxbytes`` at the very least to preserve your
configuration.  If you created program sections where
``log_stderr`` was true, to preserve the behavior of sending
stderr output to the stdout log, use the ``redirect_stderr``
boolean in the program section instead.

. The supervisor configuration file must include the following

section verbatim for the XML-RPC interface (and thus the web
interface and :program:`supervisorctl`) to work properly:

.. code-block:: ini

   [rpcinterface:supervisor]
   supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

. The semantics of the autorestart parameter within

``[program:x]`` sections has changed.  This parameter used to
accept only ``true`` or ``false``.  It now accepts an additional
value, ``unexpected``, which indicates that the process should
restart from the ``EXITED`` state only if its exit code does not
match any of those represented by the ``exitcode`` parameter in
the process' configuration (implying a process crash).  In
addition, the default for ``autorestart`` is now ``unexpected``
(it used to be ``true``, which meant restart unconditionally).

. We now allow :program:supervisord to listen on both a UNIX

domain socket and an inet socket instead of making listening on
one mutually exclusive with listening on the other.  As a result,
the options ``http_port``, ``http_username``, ``http_password``,
``sockchmod`` and ``sockchown`` are no longer part of
the ``[supervisord]`` section configuration. These have been
supplanted by two other sections: ``[unix_http_server]`` and
``[inet_http_server]``.  You'll need to insert one or the other
(depending on whether you want to listen on a UNIX domain socket
or a TCP socket respectively) or both into your
:file:`supervisord.conf` file.  These sections have their own
options (where applicable) for ``port``, ``username``,
``password``, ``chmod``, and ``chown``.

. All supervisord command-line options related to http_port,

``http_username``, ``http_password``, ``sockchmod`` and
``sockchown`` have been removed (see above point for rationale).

. The option that used to be sockchown within the

[supervisord] section (and is now named chown within the [unix_http_server] section) used to accept a dot-separated (user.group) value. The separator now must be a colon, e.g. user:group. Unices allow for dots in usernames, so this change is a bugfix.