CentOS 7-supervisor設置配置実戦
紹介する
Supervisorはプロセス制御システムです.C/Sシステムであり、サービス側はsupervisordプロセスであり、制御側はsupervisorctlを使用して制御起動プロセスを行う.同時に、プロセスの制御とログ情報の表示を容易にするためのwebインタフェースも提供されています.
supervisordとsupervisorctlはcentos 7のsystemdとsystemctlの関係に似ていますが、systemdとは違って、あなたのNginx、Tomcat、memcache、Redis...崩壊しますか?自分で書いたサーバー監視スクリプトは?よし、もう悩まないで、スーパービジョンに任せよう!それはあなたにこれらを維持することができて、たとえそれらがうっかり崩れても、Supervisorはあなたにそれらを見て、それらを維持して、それらを再起動することができます.
一、据付
インストール環境:CentOS 7.3
supervisorのインストールが完了すると、supervisortd、supervisorctl、echoの3つの実行プログラムが生成されます.supervisord_confは、supervisorのデーモン・プロセス・サービス(プロセス管理コマンドを受信するため)、クライアント(デーモン・プロセスと通信し、管理プロセスを送信するための命令)、初期プロファイル・プログラムを生成する.
二、配置
出力supervisor構成は、
/etc/ディレクトリの下にリダイレクトします
1、プロファイルパラメータの説明
supervisorの構成パラメータは多いですが、一般的なパラメータ構成、詳細な構成と説明については、公式ドキュメントを参照してください.注意:セミコロン(;)の先頭の構成はコメントを表します.
2、構成管理プロセス
プロセスは構成パラメータを管理し、supervisordにすべて書くことを推奨しません.confファイルでは、includeが指定したディレクトリの下にsupervisordを含むプロファイルをプロセスごとに書く必要があります.confファイルにあります.(1)プロセス管理のプロファイルを格納するための/etc/supervisor/config.dディレクトリを作成する(2)/etc/supervisor/supervisord.confのincludeパラメータを変更し、/etc/supervisor/conf.dディレクトリをincludeに追加する
3、サービス構成テンプレート
これらのコンフィギュレーション・アイテムの意味は、上記のコンフィギュレーション・ファイルの説明で詳細に説明されています.次に、Tomcatプロセスを構成する例を示します.
4、web管理構成説明
プロファイルの編集/etc/supervisor/supervisord.conf、最後尾に次の構成を追加します.
本機の9001ポートにアクセスし、ユーザー名のパスワードを入力すると、この管理ページにアクセスできます.
三、supervisorとその管理するプロジェクトの起動と閉鎖
1、supervisorを起動する
2、supervisorを閉じる
3、supervisorを再ロードします.ここではsupervisorサービスを再起動することに相当します.中のサービスも再起動します.
4、管理するサービスの追加/削除
(1)プロファイルの追加または削除(2)更新
5、supervisor下のサービスを管理する
詳細は公式サイトをご覧ください
Supervisorはプロセス制御システムです.C/Sシステムであり、サービス側はsupervisordプロセスであり、制御側はsupervisorctlを使用して制御起動プロセスを行う.同時に、プロセスの制御とログ情報の表示を容易にするためのwebインタフェースも提供されています.
supervisordとsupervisorctlはcentos 7のsystemdとsystemctlの関係に似ていますが、systemdとは違って、あなたのNginx、Tomcat、memcache、Redis...崩壊しますか?自分で書いたサーバー監視スクリプトは?よし、もう悩まないで、スーパービジョンに任せよう!それはあなたにこれらを維持することができて、たとえそれらがうっかり崩れても、Supervisorはあなたにそれらを見て、それらを維持して、それらを再起動することができます.
一、据付
インストール環境:CentOS 7.3
yum install python-setuptools
easy_install supervisor
#
pip install supervisor
supervisorのインストールが完了すると、supervisortd、supervisorctl、echoの3つの実行プログラムが生成されます.supervisord_confは、supervisorのデーモン・プロセス・サービス(プロセス管理コマンドを受信するため)、クライアント(デーモン・プロセスと通信し、管理プロセスを送信するための命令)、初期プロファイル・プログラムを生成する.
二、配置
出力supervisor構成は、
echo_supervisord_conf
を使用してファイルにリダイレクトし、構成項目を変更できます.supervisordサービスを実行する場合は、supervisorプロファイルを指定する必要があります.指定が表示されていない場合は、デフォルトでは次のディレクトリで検索されます.###$CWD supervisord 。
$CWD/supervisord.conf
$CWD/etc/supervisord.conf
/etc/supervisord.conf
/etc/supervisor/supervisord.conf (since Supervisor 3.3.0)
../etc/supervisord.conf (Relative to the executable)
../supervisord.conf (Relative to the executable)
/etc/ディレクトリの下にリダイレクトします
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
1、プロファイルパラメータの説明
supervisorの構成パラメータは多いですが、一般的なパラメータ構成、詳細な構成と説明については、公式ドキュメントを参照してください.注意:セミコロン(;)の先頭の構成はコメントを表します.
[unix_http_server]
file=/tmp/supervisor.sock ;UNIX socket ,supervisorctl
;chmod=0700 ;socket mode, 0700
;chown=nobody:nogroup ;socket owner, :uid:gid
;[inet_http_server] ;HTTP , web
;port=127.0.0.1:9001 ;Web IP , ,
;username=user ;
;password=123 ;
[supervisord]
logfile=/tmp/supervisord.log ; , $CWD/supervisord.log
logfile_maxbytes=50MB ; , rotate, 50MB, 0,
logfile_backups=10 ; 10, 0
loglevel=info ; , info, : debug,warn,trace
pidfile=/tmp/supervisord.pid ;pid
nodaemon=false ; , false, daemon
minfds=1024 ; , 1024
minprocs=200 ; , 200
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; UNIX socket supervisord, unix_http_server file
;serverurl=http://127.0.0.1:9001 ; HTTP supervisord
; [program:xx] ,xx
[program:xx]
command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run ;
autostart=true ; supervisord
startsecs=10 ; 10 , , 1
autorestart=true ; , :[unexpected,true,false], unexpected,
startretries=3 ; , 3
user=tomcat ; , root
priority=999 ; , 999,
redirect_stderr=true ; stderr stdout, false
stdout_logfile_maxbytes=20MB ; stdout , 50MB
stdout_logfile_backups = 20 ; stdout , 10
; stdout , , (supervisord )
stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
stopasgroup=false ; false, , stop ,
killasgroup=false ; false, kill ,
; , , , include 。
[include]
files = relative/directory/*.ini ; .ini
2、構成管理プロセス
プロセスは構成パラメータを管理し、supervisordにすべて書くことを推奨しません.confファイルでは、includeが指定したディレクトリの下にsupervisordを含むプロファイルをプロセスごとに書く必要があります.confファイルにあります.(1)プロセス管理のプロファイルを格納するための/etc/supervisor/config.dディレクトリを作成する(2)/etc/supervisor/supervisord.confのincludeパラメータを変更し、/etc/supervisor/conf.dディレクトリをincludeに追加する
[include]
files = /etc/supervisor/config.d/*.ini
3、サービス構成テンプレート
### (program_name , )
[program:program_name]
### , & , "ping 127.0.0.1 &" supervisor 。
command=php /home/wwwroot/site.webshowu.com/artisan queue:work redis --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=3
redirect_stderr=true
stdout_logfile=/home/wwwlogs/worker1.log
これらのコンフィギュレーション・アイテムの意味は、上記のコンフィギュレーション・ファイルの説明で詳細に説明されています.次に、Tomcatプロセスを構成する例を示します.
[program:tomcat]
command=/opt/apache-tomcat-8.0.35/bin/catalina.sh run
stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true
4、web管理構成説明
プロファイルの編集/etc/supervisor/supervisord.conf、最後尾に次の構成を追加します.
[inet_http_server] ; inet (TCP) server disabled by default
port=0.0.0.0: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))
本機の9001ポートにアクセスし、ユーザー名のパスワードを入力すると、この管理ページにアクセスできます.
三、supervisorとその管理するプロジェクトの起動と閉鎖
1、supervisorを起動する
##-c
supervisord -c /etc/supervisor/supervisord.conf
2、supervisorを閉じる
supervisorctl shutdown
3、supervisorを再ロードします.ここではsupervisorサービスを再起動することに相当します.中のサービスも再起動します.
supervisorctl reload
4、管理するサービスの追加/削除
(1)プロファイルの追加または削除(2)更新
supervisorctl update
5、supervisor下のサービスを管理する
###
supervisorctl start all
supervisorctl start service_name
###
supervisorctl stop all
supervisorctl stop service_name
###
supervisorctl status [service_name]
###
supervisorctl restart all
supervisorctl restart service_name
詳細は公式サイトをご覧ください