python:supervisor

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:supervisor [2023/03/13 06:46] – [参考文献] ともやんpython:supervisor [2023/03/15 06:03] (現在) – [☢️古い資料です☢️] ともやん
行 55: 行 55:
 </pre></html></WRAP> </pre></html></WRAP>
 <WRAP color_result><html><pre> <WRAP color_result><html><pre>
-<b class=GRN>●</b> supervisord.service - Process Monitoring and Control Daemon +<b class=HIG>●</b> supervisord.service - Process Monitoring and Control Daemon 
-     Loaded: loaded (/usr/lib/systemd/system/supervisord.service; <b class=GRN>enabled</b>; preset: <b class=HIY>disabled</b>+     Loaded: loaded (<a href="file://WICKED-BEAT/usr/lib/systemd/system/supervisord.service">/usr/lib/systemd/system/supervisord.service</a>; <b class=HIG>enabled</b>; preset: <b class="BOLD" style="color:#d7d75f;">disabled</b>
-     Active: <b class=GRN>active (running)</b> since Mon 2023-03-13 06:34:05 JST; 6s ago +     Active: <b class=HIG>active (running)</b> since Mon 2023-03-13 06:34:05 JST; 6s ago 
-    Process: 21987 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS) +    Process: 107602 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS) 
-   Main PID: 21989 (supervisord)+   Main PID: 107605 (supervisord)
       Tasks: 1 (limit: 19013)       Tasks: 1 (limit: 19013)
      Memory: 23.5M      Memory: 23.5M
         CPU: 515ms         CPU: 515ms
      CGroup: /system.slice/supervisord.service      CGroup: /system.slice/supervisord.service
-             └─21989 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisord.conf+             └─<b style="color:#8a8a8a;">21989 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisord.conf</b>
  
  3月 13 06:34:04 WICKED-BEAT systemd[1]: Starting supervisord.service - Process Monitoring and Control Daemon...  3月 13 06:34:04 WICKED-BEAT systemd[1]: Starting supervisord.service - Process Monitoring and Control Daemon...
行 86: 行 86:
 </code> </code>
 </WRAP> </WRAP>
- 
-===== 自動起動設定 ===== 
-<code> 
-$ sudo systemctl enable supervisord.service 
-</code> 
  
 ===== Supervisord の設定 ===== ===== Supervisord の設定 =====
-<code+<WRAP color_term
-$ sudo vi /etc/supervisord.conf +<WRAP color_command><html><pre> 
-</code> +<b class=GRN>$</b> <b class=HIY>sudo</b> nano /etc/supervisord.conf 
-<code ini+</pre></html></WRAP
-;[unix_http_server] +</WRAP>
-;file=/var/run/supervisor/supervisor.sock   ; (the path to the socket file)+
  
-[inet_http_server]         ; inet (TCP) server disabled by default +デフォルトは UNIX ドメインソケットの設定になっているの...🤔\\ 
-port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface) +<WRAP color_term
-</code> +<WRAP color_mincode><code ini>
-====== 古い資料す ====== +
-===== パッケージ インストール ===== +
-<code> +
-$ sudo pip install supervisor +
-</code> +
- +
-===== rc スクリプトの作成 ===== +
-<code> +
-sudo vi /etc/init.d/supervisord +
-</code> +
-<code bash> +
-#!/bin/bash +
-+
-# supervisord  Startup script for the Supervisor +
-+
-# chkconfig: - 70 60 +
-# description: Supervisor is a client/server system that allows its users to \ +
-#              monitor and control a number of processes on UNIX-like operating systems. +
-# processname: supervisord +
-# config:  /etc/sysconfig/supervisord +
-# pidfile: /var/run/supervisord/supervisord.pid +
-+
-### BEGIN INIT INFO +
-# Provides: supervisord +
-# Short-Description: start and stop Supervisor +
-# Description: Supervisor is a client/server system that allows its users to +
-#  monitor and control a number of processes on UNIX-like operating systems. +
-### END INIT INFO +
- +
-# Source function library. +
-. /etc/rc.d/init.d/functions +
- +
-if [ -f /etc/sysconfig/supervisord ]; then +
-    . /etc/sysconfig/supervisord +
-fi +
- +
-supervisord=${SUPERVISORD-/usr/bin/supervisord} +
-prog=supervisord +
-pidfile=${PIDFILE-/var/run/supervisor/supervisor.pid} +
-lockfile=${LOCKFILE-/var/lock/subsys/supervisord} +
-RETVAL=0 +
-STOP_TIMEOUT=${STOP_TIMEOUT-3} +
- +
-start() { +
-    echo -n $"Starting $prog: " +
-    daemon $supervisord --pidfile=${pidfile} +
-    RETVAL=$? +
-    echo +
-    [ $RETVAL = 0 ] && touch ${lockfile} +
-    return $RETVAL +
-+
- +
-stop() { +
-    echo -n $"Stopping $prog: " +
-    killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord -QUIT +
-    RETVAL=$? +
-    echo +
-    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} +
-+
- +
-reload() { +
-    echo -n $"Reloading $prog: " +
-    killproc -p $pidfile $supervisord -HUP +
-    RETVAL=$? +
-    echo +
-+
- +
-# See how we were called. +
-case "$1" in +
-    start) +
-        start +
-        ;; +
-    stop) +
-        stop +
-        ;; +
-    status) +
-        status -p ${pidfile} $supervisord +
-        RETVAL=$? +
-        ;; +
-    restart) +
-        stop +
-        start +
-        ;; +
-    reload) +
-        reload +
-        ;; +
-    *) +
-        echo $"Usage: $prog {start|stop|restart|reload|status}" +
-        RETVAL=2 +
-esac +
- +
-exit $RETVAL +
-</code> +
- +
- +
-===== 環境設定 ===== +
-rc スクリプトのパーミッション設定を行う。 +
-<code> +
-$ sudo chmod 755 /etc/init.d/supervisord +
-</code> +
- +
-pid、logファイルの生成ディレクトリを作成す。 +
-<code> +
-$ sudo mkdir /var/run/supervisord +
-$ sudo mkdir /var/log/supervisord +
-</code> +
- +
-サービスを登録する。 +
-<code> +
-$ sudo chkconfig --add supervisord +
-$ sudo chkconfig supervisord on +
-$ chkconfig --list supervisord +
-supervisord    0:off 1:off 2:on 3:on 4:on 5:on 6:off +
-</code> +
- +
-===== supervisord設定 ===== +
-設定ファイルを生成する。 +
-<code> +
-$ sudo sh -c 'echo_supervisord_conf > /etc/supervisord.conf' +
-</code> +
- +
-<code> +
-sudo vi /etc/supervisord.conf +
-</code> +
-<code>+
 [unix_http_server] [unix_http_server]
-;file=/tmp/supervisor.sock  ; (the path to the socket file) +file=/run/supervisor/supervisor.sock   ; (the path to the socket file) 
-;chmod=0700                 ; socket file mode (default 0700)+;chmod=0700                 ; sockef file mode (default 0700)
 ;chown=nobody:nogroup       ; socket file uid:gid owner ;chown=nobody:nogroup       ; socket file uid:gid owner
-file=/var/run/supervisord/supervisord.sock +;username=user              ; (default is no username (open server)) 
-chmod=0666 +;password=123               ; (default is no password (open server))
-chown=nobody:nobody+
  
-[supervisord+;[inet_http_server        ; inet (TCP) server disabled by default 
-;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) +;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface) 
-logfile=/var/log/supervisord/supervisord.log +;username=user              (default is no username (open server)
-;pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid+;password=123               ; (default is no password (open server)
-pidfile=/var/run/supervisord/supervisord.pid+</code></WRAP> 
 +</WRAP>
  
-[supervisorctl+[[http://localhost:9001|]] で使える設定に変更する🤔\\ 
-;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket +<WRAP color_term> 
-serverurl=unix:///var/run/supervisord/supervisord.sock+<WRAP color_mincode><code ini> 
 +;[unix_http_server
 +;file=/run/supervisor/supervisor.sock   (the path to the socket file) 
 +;chmod=0700                 ; sockef file mode (default 0700) 
 +;chown=nobody:nogroup       ; socket file uid:gid owner 
 +;username=user              ; (default is no username (open server)) 
 +;password=123               ; (default is no password (open server))
  
-;[include+[inet_http_server        ; inet (TCP) server disabled by default 
-;files = relative/directory/*.ini +port=127.0.0.1:9001        (ip_address:port specifier, *:port for all iface) 
-[include] +;username=user              ; (default is no username (open server)) 
-files supervisor.d/*.ini +;password=123               ; (default is no password (open server)) 
-</code> +</code></WRAP
-===== supervisordで管理するプロセスの設定 ===== +</WRAP>
-プロセス設定を格納するディレクトリを作成する。 +
-<code> +
-$ sudo mkdir /etc/supervisor.d +
-</code>+
  
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<b class=GRN>$</b> <b class=HIY>sudo</b> systemctl restart supervisord
 +<b class=GRN>$</b> <b class=HIY>systemctl</b> status supervisord
 +</pre></html></WRAP>
 +<WRAP color_command><html><pre>
 +<b class=HIG>●</b> supervisord.service - Process Monitoring and Control Daemon
 +     Loaded: loaded (<a href="file://WICKED-BEAT/usr/lib/systemd/system/supervisord.service">/usr/lib/systemd/system/supervisord.service</a>; <b class=HIG>enabled</b>; preset: <b class="BOLD" style="color:#d7d75f;">disabled</b>)
 +     Active: <b class=HIG>active (running)</b> since Wed 2023-03-15 04:46:56 JST; 7min ago
 +    Process: 107602 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
 +   Main PID: 107605 (supervisord)
 +      Tasks: 1 (limit: 19013)
 +     Memory: 21.9M
 +        CPU: 536ms
 +     CGroup: /system.slice/supervisord.service
 +             └─<b style="color:#8a8a8a;">107605 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisord.conf</b>
  
-===== サービスの起動 ===== + 3月 15 04:46:55 WICKED-BEAT systemd[1]: Starting supervisord.service - Process Monitoring and Control Daemon... 
-<code> + 3月 15 04:46:56 WICKED-BEAT systemd[1]: Started supervisord.service - Process Monitoring and Control Daemon. 
-$ sudo service supervisord start +</pre></html></WRAP> 
-supervisord を起動中                                      OK  +</WRAP
-</code> +[[http://localhost:9001|]] にアセスして動作確認😉\\ 
- +{{:python:supervisord_http_server_001.png|supervisord http server}}\\
-===== Nginx の設定 ===== +
-/etc/nginx/conf.d/localhost.conf +
-<code autoconf+
-# supervisor バッエンドの設定 +
-upstream supervisor { +
-    server unix:/var/run/supervisord/supervisord.sock; +
-}+
  
-server { +===== 付録 =====
-    # Virtual Host の設定 +
-    server_name localhost; +
-    # アクセス制限 +
-    allow 127.0.0.1; +
-    deny all;+
  
-    # supervisor の設定 +==== 標準パッケージの内容 ====
-    location / { +
-        proxy_set_header Host $http_host; +
-        proxy_pass http://supervisor; +
-         +
-        allow 127.0.0.1; +
-        deny all; +
-    } +
-+
-</code> +
-===== 付録 =====+
 Fedora 標準パッケージでインストールされるファイルの一覧は以下の内容です🤔\\ Fedora 標準パッケージでインストールされるファイルの一覧は以下の内容です🤔\\
 <WRAP color_term> <WRAP color_term>
行 570: 行 435:
 </pre></html></WRAP> </pre></html></WRAP>
 </WRAP> </WRAP>
 +
 +==== supervisord.service ====
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<b class=GRN>$</b> <b class=HIY>cat</b> /usr/lib/systemd/system/supervisord.service
 +</pre></html></WRAP>
 +<WRAP color_mincode><code autoconf /usr/lib/systemd/system/supervisord.service>
 +[Unit]
 +Description=Process Monitoring and Control Daemon
 +After=rc-local.service
 +
 +[Service]
 +Type=forking
 +ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
 +RuntimeDirectory=supervisor
 +RuntimeDirectoryMode=755
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code></WRAP>
 +</WRAP>
 +
 +==== supervisord.conf ====
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<b class=GRN>$</b> <b class=HIY>cat</b> /etc/supervisord.conf
 +</pre></html></WRAP>
 +<WRAP color_mincode_long><code ini /etc/supervisord.conf>
 +; Sample supervisor config file.
 +
 +[unix_http_server]
 +file=/run/supervisor/supervisor.sock   ; (the path to the socket file)
 +;chmod=0700                 ; sockef file mode (default 0700)
 +;chown=nobody:nogroup       ; socket file uid:gid owner
 +;username=user              ; (default is no username (open server))
 +;password=123               ; (default is no password (open server))
 +
 +;[inet_http_server]         ; inet (TCP) server disabled by default
 +;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
 +;username=user              ; (default is no username (open server))
 +;password=123               ; (default is no password (open server))
 +
 +[supervisord]
 +logfile=/var/log/supervisor/supervisord.log  ; (main log file;default $CWD/supervisord.log)
 +logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
 +logfile_backups=10          ; (num of main logfile rotation backups;default 10)
 +loglevel=info               ; (log level;default info; others: debug,warn,trace)
 +pidfile=/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
 +nodaemon=false              ; (start in foreground if true;default false)
 +minfds=1024                 ; (min. avail startup file descriptors;default 1024)
 +minprocs=200                ; (min. avail process descriptors;default 200)
 +;umask=022                  ; (process file creation umask;default 022)
 +;user=chrism                 ; (default is current user, required if root)
 +;identifier=supervisor       ; (supervisord identifier, default is 'supervisor')
 +;directory=/tmp              ; (default is not to cd during start)
 +;nocleanup=true              ; (don't clean up tempfiles at start;default false)
 +;childlogdir=/tmp            ; ('AUTO' child log dir, default $TEMP)
 +;environment=KEY=value       ; (key value pairs to add to environment)
 +;strip_ansi=false            ; (strip ansi escape codes in logs; def. false)
 +
 +; 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:///run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket
 +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
 +;username=chris              ; should be same as http_username if set
 +;password=123                ; should be same as http_password if set
 +;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
 +;history_file=~/.sc_history  ; use readline history if available
 +
 +; The below sample program section shows all possible program subsection values,
 +; create one or more 'real' program: sections to be able to control them under
 +; supervisor.
 +
 +;[program:theprogramname]
 +;command=/bin/cat              ; the program (relative uses PATH, can take args)
 +;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
 +;numprocs=1                    ; number of processes copies to start (def 1)
 +;directory=/tmp                ; directory to cwd to before exec (def no cwd)
 +;umask=022                     ; umask for process (default None)
 +;priority=999                  ; the relative start priority (default 999)
 +;autostart=true                ; start at supervisord start (default: true)
 +;autorestart=true              ; retstart at unexpected quit (default: true)
 +;startsecs=10                  ; number of secs prog must stay running (def. 1)
 +;startretries=3                ; max # of serial start failures (default 3)
 +;exitcodes=0,                ; 'expected' exit codes for process (default 0,2)
 +;stopsignal=QUIT               ; signal used to kill process (default TERM)
 +;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
 +;user=chrism                   ; setuid to this UNIX account to run the program
 +;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
 +;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
 +;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
 +;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
 +;stdout_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
 +;stdout_events_enabled=false   ; emit events on stdout writes (default false)
 +;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
 +;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
 +;stderr_logfile_backups=10     ; # of stderr logfile backups (default 10)
 +;stderr_capture_maxbytes=1MB   ; number of bytes in 'capturemode' (default 0)
 +;stderr_events_enabled=false   ; emit events on stderr writes (default false)
 +;environment=A=1,B=2           ; process environment additions (def no adds)
 +;serverurl=AUTO                ; override serverurl computation (childutils)
 +
 +; The below sample eventlistener section shows all possible
 +; eventlistener subsection values, create one or more 'real'
 +; eventlistener: sections to be able to handle event notifications
 +; sent by supervisor.
 +
 +;[eventlistener:theeventlistenername]
 +;command=/bin/eventlistener    ; the program (relative uses PATH, can take args)
 +;process_name=%(program_name)s ; process_name expr (default %(program_name)s)
 +;numprocs=1                    ; number of processes copies to start (def 1)
 +;events=EVENT                  ; event notif. types to subscribe to (req'd)
 +;buffer_size=10                ; event buffer queue size (default 10)
 +;directory=/tmp                ; directory to cwd to before exec (def no cwd)
 +;umask=022                     ; umask for process (default None)
 +;priority=-1                   ; the relative start priority (default -1)
 +;autostart=true                ; start at supervisord start (default: true)
 +;autorestart=unexpected        ; restart at unexpected quit (default: unexpected)
 +;startsecs=10                  ; number of secs prog must stay running (def. 1)
 +;startretries=3                ; max # of serial start failures (default 3)
 +;exitcodes=0,                ; 'expected' exit codes for process (default 0,2)
 +;stopsignal=QUIT               ; signal used to kill process (default TERM)
 +;stopwaitsecs=10               ; max num secs to wait b4 SIGKILL (default 10)
 +;user=chrism                   ; setuid to this UNIX account to run the program
 +;redirect_stderr=true          ; redirect proc stderr to stdout (default false)
 +;stdout_logfile=/a/path        ; stdout log path, NONE for none; default AUTO
 +;stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
 +;stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)
 +;stdout_events_enabled=false   ; emit events on stdout writes (default false)
 +;stderr_logfile=/a/path        ; stderr log path, NONE for none; default AUTO
 +;stderr_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
 +;stderr_logfile_backups        ; # of stderr logfile backups (default 10)
 +;stderr_events_enabled=false   ; emit events on stderr writes (default false)
 +;environment=A=1,B=2           ; process environment additions
 +;serverurl=AUTO                ; override serverurl computation (childutils)
 +
 +; The below sample group section shows all possible group values,
 +; create one or more 'real' group: sections to create "heterogeneous"
 +; process groups.
 +
 +;[group:thegroupname]
 +;programs=progname1,progname2  ; each refers to 'x' in [program:x] definitions
 +;priority=999                  ; the relative start priority (default 999)
 +
 +; 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 = supervisord.d/*.ini
 +</code></WRAP>
 +</WRAP>
 +
 +====== ☢️古い資料です (Obsolete)☢️ ======
 +
 +===== パッケージ インストール =====
 +<code>
 +$ sudo pip install supervisor
 +</code>
 +
 +===== rc スクリプトの作成 =====
 +<code>
 +sudo vi /etc/init.d/supervisord
 +</code>
 +<code bash>
 +#!/bin/bash
 +#
 +# supervisord  Startup script for the Supervisor
 +#
 +# chkconfig: - 70 60
 +# description: Supervisor is a client/server system that allows its users to \
 +#              monitor and control a number of processes on UNIX-like operating systems.
 +# processname: supervisord
 +# config:  /etc/sysconfig/supervisord
 +# pidfile: /var/run/supervisord/supervisord.pid
 +#
 +### BEGIN INIT INFO
 +# Provides: supervisord
 +# Short-Description: start and stop Supervisor
 +# Description: Supervisor is a client/server system that allows its users to
 +#  monitor and control a number of processes on UNIX-like operating systems.
 +### END INIT INFO
 +
 +# Source function library.
 +. /etc/rc.d/init.d/functions
 +
 +if [ -f /etc/sysconfig/supervisord ]; then
 +    . /etc/sysconfig/supervisord
 +fi
 +
 +supervisord=${SUPERVISORD-/usr/bin/supervisord}
 +prog=supervisord
 +pidfile=${PIDFILE-/var/run/supervisor/supervisor.pid}
 +lockfile=${LOCKFILE-/var/lock/subsys/supervisord}
 +RETVAL=0
 +STOP_TIMEOUT=${STOP_TIMEOUT-3}
 +
 +start() {
 +    echo -n $"Starting $prog: "
 +    daemon $supervisord --pidfile=${pidfile}
 +    RETVAL=$?
 +    echo
 +    [ $RETVAL = 0 ] && touch ${lockfile}
 +    return $RETVAL
 +}
 +
 +stop() {
 +    echo -n $"Stopping $prog: "
 +    killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord -QUIT
 +    RETVAL=$?
 +    echo
 +    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
 +}
 +
 +reload() {
 +    echo -n $"Reloading $prog: "
 +    killproc -p $pidfile $supervisord -HUP
 +    RETVAL=$?
 +    echo
 +}
 +
 +# See how we were called.
 +case "$1" in
 +    start)
 +        start
 +        ;;
 +    stop)
 +        stop
 +        ;;
 +    status)
 +        status -p ${pidfile} $supervisord
 +        RETVAL=$?
 +        ;;
 +    restart)
 +        stop
 +        start
 +        ;;
 +    reload)
 +        reload
 +        ;;
 +    *)
 +        echo $"Usage: $prog {start|stop|restart|reload|status}"
 +        RETVAL=2
 +esac
 +
 +exit $RETVAL
 +</code>
 +
 +
 +===== 環境設定 =====
 +rc スクリプトのパーミッション設定を行う。
 +<code>
 +$ sudo chmod 755 /etc/init.d/supervisord
 +</code>
 +
 +pid、logファイルの生成ディレクトリを作成する。
 +<code>
 +$ sudo mkdir /var/run/supervisord
 +$ sudo mkdir /var/log/supervisord
 +</code>
 +
 +サービスを登録する。
 +<code>
 +$ sudo chkconfig --add supervisord
 +$ sudo chkconfig supervisord on
 +$ chkconfig --list supervisord
 +supervisord    0:off 1:off 2:on 3:on 4:on 5:on 6:off
 +</code>
 +
 +===== supervisordの設定 =====
 +設定ファイルを生成する。
 +<code>
 +$ sudo sh -c 'echo_supervisord_conf > /etc/supervisord.conf'
 +</code>
 +
 +<code>
 +sudo vi /etc/supervisord.conf
 +</code>
 +<code>
 +[unix_http_server]
 +;file=/tmp/supervisor.sock  ; (the path to the socket file)
 +;chmod=0700                 ; socket file mode (default 0700)
 +;chown=nobody:nogroup       ; socket file uid:gid owner
 +file=/var/run/supervisord/supervisord.sock
 +chmod=0666
 +chown=nobody:nobody
 +
 +[supervisord]
 +;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
 +logfile=/var/log/supervisord/supervisord.log
 +;pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
 +pidfile=/var/run/supervisord/supervisord.pid
 +
 +[supervisorctl]
 +;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
 +serverurl=unix:///var/run/supervisord/supervisord.sock
 +
 +;[include]
 +;files = relative/directory/*.ini
 +[include]
 +files = supervisor.d/*.ini
 +</code>
 +===== supervisordで管理するプロセスの設定 =====
 +プロセス設定を格納するディレクトリを作成する。
 +<code>
 +$ sudo mkdir /etc/supervisor.d
 +</code>
 +
 +
 +===== サービスの起動 =====
 +<code>
 +$ sudo service supervisord start
 +supervisord を起動中:                                      [  OK  ]
 +</code>
 +
 +===== Nginx の設定 =====
 +/etc/nginx/conf.d/localhost.conf
 +<code autoconf>
 +# supervisor バックエンドの設定
 +upstream supervisor {
 +    server unix:/var/run/supervisord/supervisord.sock;
 +}
 +
 +server {
 +    # Virtual Host の設定
 +    server_name localhost;
 +    # アクセス制限
 +    allow 127.0.0.1;
 +    deny all;
 +
 +    # supervisor の設定
 +    location / {
 +        proxy_set_header Host $http_host;
 +        proxy_pass http://supervisor;
 +        
 +        allow 127.0.0.1;
 +        deny all;
 +    }
 +}
 +</code>
  
 ===== 参考文献 ===== ===== 参考文献 =====
  • python/supervisor.1678657579.txt.gz
  • 最終更新: 2023/03/13 06:46
  • by ともやん