スーパーバイザーウォッチドッグの使い方を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カスタムプロパティの予備的な理解

推薦する

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

Docker - コンテナマウントディレクトリを変更する3つの方法のまとめ

方法 1: 設定ファイルを変更する (docker サービスを停止する必要があります) 1. doc...

Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する

1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...

Ubuntu 19.10 で ssh サービスを有効にする (詳細なプロセス)

Ubuntuでsshを開くのに1時間以上かかりました。主な原因は、最初に読んだチュートリアルの手順...

アイデアのパッケージ化とクラウドサービスへのアップロードにおけるプロジェクトプロセスの分析

1つ。まず、アイデアとしてパッケージ化する必要があります。私はSpringbootフレームワークプロ...

MySQL 5.7.18 MSI インストール グラフィック チュートリアル

この記事では、参考までにMySQL 5.7.18 MSIインストールチュートリアルを紹介します。具体...

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

MySQL DDLステートメントの使用

序文SQL の言語分類には主に以下の種類があります。 DDLデータ定義言語作成、削除、変更データ定義...

Linux でスペースを含むファイルを削除する (ディレクトリではない)

日常業務では、スペースのないファイルに遭遇することがよくあります。これにより、削除操作がはるかに簡単...

WindowsシステムでMySQLデータベースを完全にアンインストールして、MySQLを再インストールします

1. コントロールパネルで、MySQLのすべてのコンポーネントをアンインストールします。コントロール...

Linux で JDK をインストールして環境変数を設定する方法 (この記事で十分です)

目次1. Linuxのビット数を確認する2. JDKをダウンロードする3. JDKをインストールする...

フロントエンド開発者のための HTML 入門

1 HTML入門1.1 初めてのコード体験、最初のウェブページの作成XML/HTML コードコンテン...

MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

バージョン間でのコマンドの違い: innodb ステータスを表示\G mysql-5.1 エンジン ...

Vue 天気予報入門

この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

Vueのウォッチリスナーの使い方を説明する記事

目次リスナーウォッチ形式リスナーを設定します。要約するリスナーウォッチ関数名は、リッスンする要素の名...