Amazon Linux 2023にSupervisorをインストールする

Amazon Linux 2023にSupervisorをインストールする手順を説明します。
Pythonとpipの確認から始め、Supervisorのインストール、設定、そして利用方法について詳しく解説します。

ステップ1: Pythonのバージョンを確認

まず、システムにインストールされているPythonのバージョンを確認します。

$ which python3
/usr/bin/python3
$ python3 --version
Python 3.9.16

ステップ2: pipのインストール

次に、Pythonパッケージマネージャーであるpipをインストールします。
以下のコマンドを実行して、pipがすでにインストールされているかどうかを確認し、必要に応じてインストールします。

$ python3 -m ensurepip --upgrade
(省略)
Installing collected packages: pip
Successfully installed pip-21.3.1

インストール後、pipのバージョンを確認して、正しくインストールされていることを確認します。

$ pip3 --version
pip 21.3.1 from /home/ec2-user/.local/lib/python3.9/site-packages/pip (python 3.9)

ステップ3: Supervisorのインストール

pipを使用して、Supervisorをインストールします。

$ pip3 install supervisor
(省略)
Installing collected packages: supervisor
Successfully installed supervisor-4.2.5

インストールが完了したら、以下のコマンドでSupervisorの実行可能ファイルのパスを確認します。

$ which supervisord
~/.local/bin/supervisord
$ which supervisorctl
~/.local/bin/supervisorctl

ステップ4: Supervisordの設定ファイルの作成

Supervisordの設定ファイルを生成し、必要に応じてカスタマイズします。

$ mkdir etc
$ .local/bin/echo_supervisord_conf > ~/etc/supervisord.conf

設定ファイルを編集して独自の設定を追加するには、以下のコマンドを使用します。

$ vi etc/supervisord.conf

設定例:

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface

;[include]
;files = relative/directory/*.ini
[include]
files = supervisord.d/*.ini

また、特定のプログラムの設定を追加することもできます。

$ vi etc/supervisord.d/laravel-worker.ini

設定例:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log
stopwaitsecs=3600

ステップ5: Supervisordの起動

設定ファイルが用意できたら、以下のコマンドでSupervisordを起動します。

$ supervisord -c ~/etc/supervisord.conf

ステップ6: Supervisorctlの使用

Supervisorctlを使用して、プロセスの状態を管理します。以下のコマンドでプロセスの状態を確認し、必要に応じて開始や停止などの操作を行います。

$ supervisorctl status all

以上で、Amazon Linux 2023にSupervisorをインストールし、設定する方法の説明は完了です。
この手順に従えば、効果的にSupervisorを利用してシステムのプロセス管理を行うことができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください