デフォルトの設定パスで監視および混乱を含む自動展開を作成しようとしています。
私が見つけたすべての展開スキームは、事前設定やリンクなしで/etc/supervisor/supervisor.conf
および/etc/supervisor/conf.d/
を使用します。また、apt-getを介してスーパーバイザーパッケージをインストールした後、このパスは構成例で実際に満たされます。
この example フローは、リンクなしで作成され、/etc/supervisor.conf
などの作成はありません。
Sudo('apt-get -y install supervisor')
put('config/supervisor_gunicorn.conf', '/etc/supervisor/conf.d/gunicorn.conf', use_Sudo=True)
Sudo('supervisorctl reload')
しかし、supervisorctl
では、このパスはデフォルトとして指定されておらず、 manual で指定されているように、/etc/supervisor.conf
のどこかにデフォルトの場所があると想定されています。
可能な限りすべての方法でスーパーバイザーをインストールしようとしましたが、結果が得られません。
これはほんの小さなばかげた詳細であることを私は知っていますが、私の展開スキームを良好に保つためにあなたの助けに非常に感謝します。
あなたはpipを介してスーパーバイザーをインストールしている可能性があり、したがってパッチされていないバージョンが
/usr/local/lib/python2.7/dist-packages/supervisor/
パッチを適用したバージョンよりも優先されます
/usr/lib/pymodules/python2.7/supervisor
パッチの詳細については、Martjinの回答を参照してください。簡単な解決策は次のとおりです。
pip uninstall supervisor
次に、部分的にしかインストールされていない場合は、パッケージのインストールを再実行します。
apt-get install supervisor
また、あなたの/etc/supervisor/supervisord.conf
が存在します。そうでない場合は、手動で再作成する必要があります。私の場合は次のようになります。
; supervisor config file
[unix_http_server]
file=/var/run//supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run//supervisor.sock ; use a unix:// URL for a unix socket
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = /etc/supervisor/conf.d/*.conf
Zeの実際のドキュメントから: http://supervisord.org/configuration.html#configuration-file
スーパーバイザー構成ファイルは、通常、supervisord.confという名前です。これは、supervisordとsupervisorctlの両方で使用されます。いずれかのアプリケーションが-cオプション(アプリケーションに構成ファイル名を明示的に通知するために使用されるオプション)なしで起動された場合、アプリケーションは、指定された順序で、次の場所でsupervisord.confという名前のファイルを検索します。最初に見つかったファイルを使用します。
- $ CWD/supervisord.conf
- $ CWD/etc/supervisord.conf
- /etc/supervisord.conf
- /etc/supervisor/supervisord.conf(Supervisor 3.3.0以降)
- ../ etc/supervisord.conf(実行可能ファイルに対して)
- ../supervisord.conf(実行可能ファイルに対して)