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を利用してシステムのプロセス管理を行うことができます。