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

推薦する

HTMLでキーワードを強調表示するのに最適なソリューション

最近、プロジェクトに取り組んでいるときに、Web ページ上のキーワードを強調表示する機能に遭遇しまし...

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...

ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要がありま...

MySQL グリーンバージョン設定コードと 1067 エラーの詳細

MySQL グリーンバージョン設定コードと 1067 エラーMySQL エンコーディングを表示 &#...

CSS3 で less のテキストの長い影を実装する

この記事では主に、CSS3 LESS で長いテキストの影を実装する方法を紹介し、皆さんと共有します。...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

JavaScriptの強力な演算子をいくつか見てみましょう

目次序文1. ヌル合体演算子2. ??= 空代入演算子3. ?. オプション連鎖演算子4. ?: 三...

Nginx 運用保守ドメイン名検証方法例

インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の...

Ubuntu 16.04 で FTP サーバーを構築するチュートリアル

Ubuntu 16.04 FTP サーバーをビルドするftpをインストールするftp をインストール...

ウェブページのフォント設定についての簡単な説明

サイト全体のフォントを設定することは、常にシンプルでありながら難しい作業です。深く掘り下げていくと、...

MySQLは外部SQLスクリプトファイルのコマンドを実行します

目次1. SQLコマンドを含むSQLスクリプトファイルを作成する2. SQLスクリプトファイルを実行...

2つのウェブサイトページ翻訳プラグインの共有

TranslateThis URL: http://translateth.is Google 翻訳...

nginx.conf のルートディレクトリ設定の詳細な説明

nginx.conf を構成するときには常に何らかの問題が発生します。ここでは、よくある問題とその解...