Linux プロセス管理ツール スーパーバイザーのインストールと設定のチュートリアル

Linux プロセス管理ツール スーパーバイザーのインストールと設定のチュートリアル

環境: CentOS 7

公式ドキュメント: http://supervisord.org/

インストール

# yum インストール -y epel-release
# yum install -y スーパーバイザー

起動する

# supervisord -c /etc/supervisord.conf
# ps -ef | grep スーパーバイザー
ルート 19703 1 0 17:32 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf
root 19715 19495 0 17:32 pts/0 00:00:00 grep --color=auto スーパーバイザー

設定手順

設定ファイルのアドレス: /etc/supervisor.conf

設定ファイルがない場合は、次のコマンドで生成できます。

echo_supervisord_conf > /etc/supervisord.conf

設定ファイルの詳細:

[unix_http_サーバー]
file=/tmp/supervisor.sock ;UNIXソケットファイル、supervisorctlが使用する
;chmod=0700 ;ソケットファイルモード、デフォルトは0700
;chown=nobody:nogroup ;ソケットファイルの所有者、形式: uid:gid

;[inet_http_server] ;Web管理インターフェースを提供するHTTPサーバー
;port=127.0.0.1:9001 ;Web管理バックエンドのIPとポート。パブリックネットワークに公開されている場合は、セキュリティに注意する必要があります
;username=user ;管理バックエンドにログインするためのユーザー名
;password=123 ;管理バックエンドにログインするためのパスワード

[監督者]
logfile=/tmp/supervisord.log; ログファイル、デフォルトは $CWD/supervisord.log
logfile_maxbytes=50MB; ログ ファイルのサイズが制限を超えるとローテーションされます。デフォルト値は 50MB です。0 に設定すると、サイズに制限がないことを意味します。
logfile_backups=10; ログ ファイルのバックアップのデフォルト数は 10 です。0 に設定すると、バックアップは行われません。
loglevel=info; ログレベル、デフォルトは info、その他: debug、warn、trace
pidfile=/tmp/supervisord.pid ;pidファイル
nodaemon=false; フォアグラウンドで起動するかどうか。デフォルトは false で、デーモンモードで起動します。
minfds=1024; 開くことができるファイル記述子の最小数。デフォルトは1024です。
minprocs=200; 開くことができるプロセスの最小数。デフォルトは200です。

[スーパーバイザーctl]
serverurl=unix:///tmp/supervisor.sock ; UNIXソケット経由でsupervisordに接続します。パスはunix_http_server部分のファイルと一致します。
;serverurl=http://127.0.0.1:9001 ; HTTP経由でsupervisordに接続

; [program:xx]は管理対象プロセスの設定パラメータ、xxはプロセス名です
[プログラム: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です。プロセスが強制終了されたときに、子プロセスを含むこのプロセスグループに停止信号を送信するかどうか
killasgroup=false; デフォルトは false で、子プロセスを含むプロセス グループに kill シグナルを送信します。

; その他の設定ファイルが含まれています
[含む]
files = supervisord.d/*.ini ; .iniで終わる1つ以上の設定ファイルを指定できます。

Tomcat テストの設定

: := _tomcat.ini ファイルのパス

[プログラム:tomcat]
コマンド=/opt/apache-tomcat-8.0.44/bin/catalina.sh 実行
stdout_logfile=/opt/apache-tomcat-8.0.44/logs/catalina.out
自動起動=true
自動再起動=true
開始秒数=5
優先度=1
stopasgroup=true
キラグループ=true

スーパーバイザーを再起動

supervisord -c /etc/supervisord.conf

チェック

[root@gr5bm1tynui4toof-0622769 システム]# supervisorctl
tomcat 実行中 pid 21609、稼働時間 0:25:15

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux運用保守ツールSupervisor(プロセス管理ツール)のインストールと使用
  • Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用
  • Supervisor のインストールと構成の詳細な説明 (Linux/Unix プロセス管理ツール)
  • PHPプログラマーはスーパーバイザーを使用してデーモンプロセスを実装するLinuxシリーズをプレイします
  • スーパーバイザーウォッチドッグの使い方を3分で学ぶ

<<:  MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ

>>:  Vueテクノロジーに基づく再帰コンポーネントの実装方法

推薦する

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

VMware Workstation Pro が Win10 アップデートにより開けなくなる問題の解決方法

今夜の夕食後にノートパソコンの電源を入れたところ、問題が発生しました。通常、コンピューターがスリープ...

Centos7 から Centos8 へのアップグレードに関するチュートリアル (画像とテキスト付き)

正式な環境でアップグレードする場合は、データと重要な設定をバックアップしてください。アップグレードに...

大量のデータをMySQLにインポートする際に発生する問題と解決策の分析

プロジェクトでは、SQL を使用してデータ分析を実行するために、大量のデータをデータベースにインポー...

ウェブサイトのユーザーエクスペリエンスデザイン(UE)

Google Reader で、JunChen が書いた「フロー理論と設計」というタイトルの投稿を見...

スライドボタン効果を実現するネイティブJS

Jsで作ったスライドボタンの具体的なコードは参考までに。具体的な内容は以下のとおりですまずエフェク...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

パーティクルダイナミックボタン効果を実現するCSS

オリジナルリンクhttps://github.com/XboxYan/no…ボタンは、おそらく We...

HTML マーキータグの使用例

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルのみをサポートしています。そのため、...

MySQL データベースのステートメント ワイルドカード ファジー クエリの概要

MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...

MySQLは、統計クエリを最適化するために、sum、case、whenを巧みに使用します。

私は最近、会社で統計レポートの開発に関わるプロジェクトに取り組んでいました。データの量が比較的多かっ...

MySQL ステートメントの配置と概要の紹介

SQL (Structured Query Language) ステートメント、つまり構造化クエリ言...

JavaScript を使って簡単な計算機を書く

効果は以下のとおりです。参考プログラム: <!DOCTYPE html> <htm...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...

MySQL方言の簡単な紹介

データベースはさておき、人生における方言とは何でしょうか?方言とは、ある場所特有の言語です。他の場所...