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テクノロジーに基づく再帰コンポーネントの実装方法

推薦する

JavaScript でのプロキシの使用を理解するための記事

目次エージェントとは何かプロキシの基礎知識ハンドラオブジェクトのメソッドプロキシでできること参考文献...

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行docker run -d --name consul -p 8500:8500 co...

Ubuntu は、Mysql+Keepalived の高可用性実装 (デュアルアクティブ ホットスタンバイ) を構築します。

Mysql5.5 デュアルマシン ホットスタンバイ実装 2つのMySQLをインストールするMySQ...

Nginx サーバーの https 設定方法の例

Linux: Linux バージョン 3.10.0-123.9.3.el7.x86_64 ngin...

Vueモバイル端末は画面上で指をスライドさせる方向を判定する

vueモバイル端末は、画面上で指をスライドさせる方向を判断します。具体的な内容は次のとおりです。これ...

MySQL の 2 種類の一時テーブルの使用方法の詳細な説明

外部一時テーブルCREATE TEMPORARY TABLE によって作成された一時テーブルは、外部...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

WeChatミニプログラムでトークンの有効期限を処理する方法

目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...

html2canvas を使用して HTML コードを画像に変換する方法

コードを画像に変換するにはhtml2canvas は、ブラウザから Web ページのスクリーンショッ...

Vueページの初回読み込み最適化の全プロセス

目次序文1. 画像の最適化2. .mapファイルの生成を無効にする3. ルーティングの遅延読み込み4...

MYSQL スロークエリとログ設定とテスト

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

Node.js コード実行をバイパスするためのヒントのまとめ

目次1. 子プロセス2. nodejsでのコマンド実行2.1 16進数エンコード2.2 ユニコードエ...

JavaScript のクロージャによって発生する問題を回避する

閉鎖による問題を回避するためのletについてオブジェクト指向の考え方を使用して、購入者情報の削除機能...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...