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

推薦する

Gogs+Jenkins+Docker による .NetCore ステップの自動デプロイ

目次環境説明DockerのインストールゴグのインストールDocker で .NetCore サービス...

CentOS7 での MySQL 8.0.16 のインストールと設定のチュートリアル

MySQLの古いバージョンをアンインストールします(古いバージョンがない場合は、この手順をスキップし...

Vue で Excel ストリーム ファイルをダウンロードし、ダウンロード ファイル名を設定する方法

目次概要1. URL経由でダウンロード2. aタグのダウンロード属性とblobコンストラクタを組み合...

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...

MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開

MySQL バージョン 5.5 および 5.6 を標的とする Riddle 脆弱性により、中間者攻撃...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法

基本的な環境設定まずはご自身でドメイン名とサーバーを購入してくださいクラウドサーバーECSに基づいて...

MySQL/MariaDB でピボット テーブルを実装する方法のサンプル コード

前回の記事では、Oracle でピボット テーブルを実装するいくつかの方法を紹介しました。今日は、同...

HTTP および HTTP コラボレーション Web サーバー アクセス フロー図

Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...

JavaScript で同時実行制御を実装する方法

目次1. 同時実行制御の概要1.1 フェーズ1 1.2 フェーズ2 1.3 フェーズ3 2. 同時実...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

Vmware での Ubuntu サーバーのインストール チュートリアル

この記事では、Ubuntuサーバーバージョンのインストールグラフィックチュートリアルを参考までに紹介...

Webフロントエンドベクターアイコンの使い方

序文フロントエンドページを書くとき、小さなアイコンなどの画像を使うことが多いです。画像を使うとコード...

基礎知識: ウェブサイトのアドレスの前の http はどういう意味ですか?

HTTPとは何ですか?ウェブサイトを閲覧したいときは、ブラウザのアドレス バーにウェブサイトのアド...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...