スーパーバイザーウォッチドッグの使い方を3分で学ぶ

スーパーバイザーウォッチドッグの使い方を3分で学ぶ

ソフトウェアとハ​​ードウェア環境

  • centos7.6.1810 64ビット
cat /etc/redhat-release # システムバージョンを表示する
  • スーパーバイザー 3.4.0
  • Python 2.7.5

スーパーバイザー紹介

Supervisor は Python で書かれたプロセス管理ツールです。1 つ以上のプロセスを簡単に監視、開始、停止、再起動できます。プロセスが予期せず終了した場合、スーパーバイザーはプロセスの終了を監視し、プログラマーやシステム管理者がプロセスを制御するコードを記述することなく、プロセスを自動的に簡単に復元できます。

スーパーバイザーのインストール

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

開始と自動開始の有効化

systemctl 起動 supervisord
systemctl は supervisord を有効にする

その他のコマンド:

systemctl stop supervisord #停止して起動systemctl start supervisord #起動systemctl status supervisord #起動ステータスsystemctl reload supervisord #高負荷systemctl restart supervisord #再起動

スーパーバイザーのウェブクライアント

Supervisor は Web ベースの制御を提供します。管理者はページ上のボタンをクリックしてプロセスを開始および再開できるため、非常に便利です。

設定ファイルを入力し、Webクライアントのサポートを有効にします

vim /etc/supervisord.conf

外部アクセス用に提供されている場合は、ポートをローカルIPアドレスに変更する必要があります。

#10行目から13行目のコメントを解除します。先頭の数字は行番号です [inet_http_server] ; inet (TCP) サーバーはデフォルトで無効になっています
port=192.168.26.121:9001; (ip_address:ポート指定子、*:すべてのifaceのポート)
username=user ; (デフォルトはユーザー名なし (オープンサーバー))
password=123 ; (デフォルトはパスワードなし (オープンサーバー))

設定が完了したら、サービスを再起動します

systemctl 再起動 supervisord

supervisord アプリケーション構成

supervisord設定ファイルを入力する

/etc/supervisord.conf を編集する

設定ファイルの最後の行には

[含む]
ファイル = supervisord.d/*.ini

つまり、すべてのアプリケーション設定ファイルはこのディレクトリに保存され、.ini形式で保存されます。アドレスは自分で変更できますが、サフィックスは変更しないでください。

それでは監視対象アプリケーションを作成しましょう

テスト用のPython構成を作成する

pythonというアプリケーション構成を作成する

vim /etc/supervisord.d/python.ini

設定ファイルの内容。コマンドはアプリケーションの起動時に実行する必要があるコマンドです。

[program:python] #ここでのpythonは、Webフロントエンドとターミナルに表示される監視名です。command=python /tmp/supervisordtest/test.py #監視するファイルアドレスです。autostart=true
自動再起動=true
開始秒数=1
開始再試行回数=3
リダイレクトstderr=true
stdout_logfile=/tmp/supervisordtest/access_python.log #ログ アドレス、ディレクトリは自分で設定できます stderr_logfile=/tmp/supervisordtest/error_python.log #ログ アドレス、ディレクトリは自分で設定できます

test.pyを作成する

mkdir /tmp/supervisordtest
vim /tmp/supervisordtest/test.py

プログラムの内容: 無限ループを開始し、コンテンツを印刷し続ける

真の場合:
 印刷(100)

設定ファイルを有効にするには、supervisordを再起動します。

systemctl 再起動 supervisord

アプリケーションが正常に起動するかどうかを確認します

1. コマンドビュー

systemctl ステータス supervisord

2. 視覚的なウェブ閲覧

ウェブターミナルは、再起動、停止、ログのクリーンアップ、ログの表示などの操作を行うことができます。

スーパーバイザーに関連するいくつかのコマンド

インストールが完了すると、 supervisorctlsupervisordecho_supervisord_conf 3 つのシステム コマンドが生成されます。

1. supervisordsupervisorを実行するとプロセスsupervisordが開始され、管理対象プロセスの開始と管理対象プロセスを自身の子プロセスとして開始する責任があり、管理対象プロセスがクラッシュしたときに自動的に再起動できます。

2. supervisorctlは、 s tartstoprestartなどのサブプロセスを管理するためのコマンドを実行するために使用できるコマンドライン管理ツールです。

sudo supervisorctl デモウェブを起動します

demoweb はプロセスの名前です。詳細なコマンドと手順については、下の表を参照してください。

コマンド説明
supervisorctl start プログラム名プロセスを開始する
supervisorctl stop プログラム名プロセスを停止する
supervisorctl 再起動プログラム名プロセスを再起動する
supervisorctl ステータス プログラム名プロセスのステータスを確認する
supervisorctl すべてを停止すべてのプロセスを停止 | \
スーパーバイザctlリロード最新の設定ファイルを読み込み、すべてのプロセスを再起動します
supervisorctl アップデート最新の設定に従って設定が変更されたプロセスを再起動します。更新されていないプロセスは影響を受けません。

3. echo_supervisord_conf

デフォルトの設定ファイルを生成するために使用されます(デフォルトの設定ファイルは非常に完全でコメントがあり、必要に応じて参照するのに適しています。使用方法は次のとおりです。

echo_supervisord_conf > test.conf

これで、3分でスーパーバイザーウォッチドッグの使い方を学ぶ方法についての記事は終わりです。3分でスーパーバイザーの使い方についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  ウェブサイトのハイパーリンクを開く方法に関する議論

>>:  CSSカスタムプロパティの予備的な理解

推薦する

HTML 順序なしリスト 箇条書き 画像を使用した CSS の記述

少なくとも 5 冊のベストセラー書籍の順序なしリストを含む HTML ページを作成します。各書籍の前...

Docker のコンテナ データ ボリュームの概要

目次Dockerコンテナのデータ量データボリュームの使用方法1: コマンド-vを使用して直接マウント...

HTMLページの文字セットを指定する2つの方法

1. HTMLページの文字セットを指定する2つの方法方法1: <メタ文字セット="u...

ボタンの 4 つのクリック応答方法の概要

ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

Linuxでポートが開いているかどうかを確認する方法のまとめ

方法1: lsofコマンドを使用するlsof コマンドを使用して、ポートが開いているかどうかを確認で...

MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離

MySQL マスター スレーブ レプリケーションを使用する利点は次のとおりです。 1. 安定性を向上...

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

MySQL btree インデックスとハッシュ インデックスの違い

MySQL では、ほとんどのインデックス (PRIMARY KEY、UNIQUE、INDEX、FUL...

大規模なウェブサイトアーキテクチャを設計・構築する際に考慮すべき10の課題

ここでは、PHP、JSP、または .NET 環境については説明しません。アーキテクチャの観点から問題...

CSS3 で六角形の境界線を実装するサンプルコード

一番外側の boxF は 120 度回転し、2 番目の boxS は -60 度回転し、3 番目の ...

Linux で ffmpeg をインストールするための詳細なチュートリアル

1. CentOS Linuxにffmpegをインストールする1.ダウンロードして解凍する http...

React プロジェクトで eslint の Baidu スタイルを使用する詳細な説明

1. Baidu Eslint Ruleプラグインをインストールする npm i -D eslint...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

IE6 の歪み問題

質問: <form...> の下の <input type="hidde...