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

推薦する

Dreamweaver8を使用してウェブサイトのファイルをチェックして整理する方法

Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...

Nginx ベースの Mencached キャッシュ構成の詳細な説明

導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...

CSS3 ボタン境界アニメーションの実装

まず効果を見てみましょう: html <a href="#"> &l...

JavaScript で虫眼鏡の特殊効果を実現

達成される効果:マウスを小さな画像の上に置くと、小さなブロックが小さな画像の上に表示され、この小さな...

HTML と JavaScript を使用してローカル メディア (ビデオとオーディオ) ファイルを再生する方法

まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...

phpmyadmin を使用して MySQL 権限を設定する方法

目次ステップ 1: root ユーザーとしてログインします。ステップ 2: 新しいデータ テーブルを...

Vue3+Vantコンポーネントを使用してアプリの検索履歴機能を実装する(サンプルコード)

現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...

HTMLでカメラを読み込む方法

効果図: 全体的な効果: ビデオ読み込み中: 写真:ステップ1: HTML要素を作成するまず、HTM...

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...

メタタグを簡単に説明すると

META タグは、一般的に タグと呼ばれ、HTML Web ページのソース コード内の重要な HTM...

CSSフロートの特性についての簡単な説明

この記事では、CSS フロートの特徴を紹介します。皆さんと共有し、自分用のメモとして残したいと思いま...

SQL における distinct と row_number() over() の違いと使い方

1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...

MySQLテーブルを削除する方法

MySQL でテーブルを削除するのは非常に簡単ですが、削除コマンドを実行するとすべてのデータが消えて...

Vue 仮想 Dom から実際の Dom への変換

別のツリー構造があるJavascriptオブジェクトでは、このツリーが本物であると伝えるだけでよいD...