DUICUO

オープンソースのプロセス管理ツール「Supervisor」

Supervisorは、LinuxおよびUnixシステム上のプロセス、デーモン、アプリケーションを管理できるオープンソースのプロセス管理ツールです。Supervisorは、プロセスの状態を監視し、失敗したプロセスを自動的に再起動し、プロセスをログに記録することができます。また、Webインターフェースを介して複数のサーバー上のプロセスを管理・監視することもできます。SupervisorはPythonで記述されているため、Pythonのpipツールを使用してインストールすることもできます。以下は、Supervisorを使用してプロセスをデプロイおよび管理するための簡単な手順です。

1. スーパーバイザーをインストールする

Supervisor は、pip コマンドまたは yum を使用してインストールできます。

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

2. スーパーバイザー構成ファイルを生成します。

`echo` コマンドを使用して、Supervisor 構成ファイルを生成します。

 echo_supervisord_conf > /etc/supervisord.conf

3. スーパーバイザー設定ファイルを編集する

たとえば、Python プログラムを管理するには、エディターを使用して構成ファイルを開き、管理する必要がある Python アプリケーションを追加します。次に例を示します。

 [プログラム: myapp ]
コマンド= /usr/bin/python/path/to/myapp.py
ディレクトリ= /path/から/ myapp
自動起動= true
自動再起動= true
リダイレクトstderr = true
stdout_logfile = /var/log/myapp.log

パラメータについては以下に説明します。

 program : myapp はプロセス名を表します。
command: 開始コマンドを示します。
ディレクトリ: アプリケーションの作業ディレクトリを表します。
autostart: 自動的に起動するかどうかを示します。
autorestart: プロセスがクラッシュしたときに自動的に再起動するかどうかを示します。
redirect_stderr: 標準エラー出力をリダイレクトするかどうかを示します。
stdout_logfile: 標準出力ログ ファイルへのパスを表します。

4. スーパーバイザーサービスを開始する

次のコマンドを使用して、Supervisor サービスを開始します。

監督者- c / etc /監督者.conf

5. 管理および監視プロセス

プロセスを管理および監視するには、supervisorctl コマンドを使用します。例:

スーパーバイザctlステータス

スーパーバイザーctlスタートmyapp

スーパーバイザーctl停止myapp

スーパーバイザーctlでmyappを再起動します。

6. スーパーバイザー Web インターフェイスを使用してプロセスを管理および監視します。

SupervisorのWebインターフェースにアクセスするには、http://localhost:9001にアクセスしてください。デフォルトのユーザー名とパスワードはどちらも「admin」です。

このケーススタディでは、Supervisor を使用して Python アプリケーションを管理する方法を説明します。Supervisor は、Nginx、MySQL、Redis などの他の種類のプロセスやデーモンも管理できます。