ホームページ  >  記事  >  運用・保守  >  スーパーバイザはどのようにインストールおよび設定されますか?

スーパーバイザはどのようにインストールおよび設定されますか?

零下一度
零下一度オリジナル
2017-06-27 10:13:561474ブラウズ

Supervisor の概要

Supervisor を使用すると、ユーザーは UNIX のようなオペレーティング システム上の複数のプロセスを制御できます。 ブロックは次のとおりです:

利便性

プロセス インスタンスごとに rc.d スクリプトを記述する必要があるため、多くの場合不便です。 rc.dスクリプトはプロセスの初期化/自動開始/管理の一般的な形式ですが、作成と保守が面倒な場合があります。さらに、rc.d スクリプトはクラッシュしたプロセスを自動的に再起動することができず、多くのプログラムはクラッシュ時に正常に再起動しません。 Supervisord はプロセスをその子プロセスとして開始し、クラッシュ時に自動的に再起動するように構成できます。独自の呼び出しでプロセスを開始するように自動的に構成することもできます。

精度

UNIX では、プロセスの正確な稼働/停止ステータスを取得するのが難しいことがよくあります。 Pidfile はしばしば嘘をつきます。 Supervisord はプロセスを子プロセスとして開始するため、子プロセスの実際の稼働/停止ステータスを常に把握しており、このデータを簡単にクエリできます。

プロセス グループ

プロセスは多くの場合、グループで、場合によっては「優先順位」で開始および停止する必要があります。人々はこれを説明するのに苦労することがよくあります。 Supervisor を使用すると、プロセスに優先順位を割り当てることができ、ユーザーは、supervisorctl クライアントを通じて「start all」や「restart all」などのコマンドを発行することで、事前に割り当てられた優先順位に従ってプロセスを起動できるようになります。さらに、プロセスは、1 つの単位として停止および開始できる、論理的に関連付けられたプロセスのグループである「プロセス グループ」にグループ化できます。

特徴

シンプル

スーパーバイザーは、シンプルな INI スタイル設定ファイルを通じて設定されており、習得が簡単です。失敗したプロセスの再起動や自動ログ ローテーションなど、作業を容易にするプロセスごとのオプションが多数用意されています。

一元化された

プロセスは個別またはグループで制御できます。ローカルまたはリモートのコマンド ラインおよび Web インターフェイスを提供するようにスーパーバイザを設定できます。

効率的

スーパーバイザーは fork/exec を通じて子プロセスを開始し、子プロセスはバックグラウンド処理を実行しません。

拡張性が高い

Supervisor には、制御用の XML-RPC インターフェイスだけでなく、任意の言語で書かれたプログラムで使用できるシンプルなイベント通知プロトコルが備わっています。また、Python 開発者が利用できる拡張ポイントを使用して構築されています。

Windowsを除く

スーパーバイザーと互換性があります。 Linux、Mac OS X、Solaris、FreeBSD でテストされ、サポートされています。これは完全に Python で記述されているため、インストールに C コンパイラは必要ありません。

安定性

Supervisor は長年にわたって存在しており、多くのサーバーで使用されています。



スーパーバイザーコンポーネント

supervisord

supervisordサーバープログラム。独自の呼び出しでサブルーチンを開始し、クライアント コマンドに応答し、クラッシュまたは終了したサブプロセスを再起動し、そのサブプロセス stdout および stderr の出力をログに記録し、対応する「イベント」を生成して処理します。ライフサイクル。

プロフィール。これは通常、/etc/supervisord.conf にあります。この構成ファイルは、「Windows-INI」スタイルの構成ファイルです。このファイルには暗号化されていないユーザー名とパスワードが含まれている可能性があるため、適切なファイル システム権限でこのファイルを保護することが重要です。

supervisorctl

スーパーバイザーのコマンドラインクライアントはsupervisorctlと呼ばれます。 スーパーバイザーによって提供される機能へのシェルのようなインターフェイスを提供します。 supervisorctl から、ユーザーはさまざまな supervisord に接続し、サブプロセスを停止および開始し、実行中のプロセス supervisord のリストを取得できます。

コマンド ライン クライアントは、UNIX ドメイン ソケットまたはインターネット (TCP) ソケットを介してサーバーと通信します。サーバーは、クライアントのユーザーがコマンドの実行を許可する前に、認証資格情報を提示する必要があると主張できます。クライアントプロセスは通常、サーバーと同じ構成ファイルを使用しますが、[supervisorctl]セクションを含む構成ファイルは正常に動作します。

Web サーバー

Web サーバーはブラウザを通じてアクセスして、プロセスのステータスを表示および制御したり、構成ファイルの [inet_http_server] ブロックで を構成したり、サーバー URL (例: http) にアクセスしたりできます。 ://localhost:9001 /) を使用して、Web インターフェイスを通じてプロセスのステータスを表示および制御します。

XML-RPC インターフェイス

Web UI にサービスを提供する同じ HTTP サーバーは、スーパーバイザーとそれが実行するプログラムの問い合わせと制御に使用できる XML-RPC インターフェイスを提供します。 XML-RPC API ドキュメントを参照してください。


インストールと使用手順はここをクリック wuguiyunwei.com

以上がスーパーバイザはどのようにインストールおよび設定されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。