end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

(再) amon2 + Starlet + Supervisor による PSGI/Plack の自動起動(daemon化)

amon2 + Starlet + Supervisor による PSGI/Plack の自動起動(daemon化) - end0tknrのkipple - web写経開発
以前、同様のエントリを記載していますが、

  • supervisordが起動するアプリの設定ファイルを外部化(*.ini)
  • supervisord の自動起動を見直し
  • supervisord へのアプリの登録と起動を見直し

したので、再掲。

supervisord 設定ファイル再作成 & 修正

# /usr/local/bin/echo_supervisord_conf > /etc/supervisord.conf
# vi /etc/supervisord.conf

ファイル下部のincludeを以下のように変更 (外部ファイルをincludeを有効化)
[include]
files = /etc/supervisord.d/*.ini

supervisord の自動起動

# vi /etc/rc.d/rc.local
/usr/local/bin/supervisord -c /etc/supervisord.conf

↑↓いずれの方法でもOKなはず
amon2 + Starlet + Supervisor による PSGI/Plack の自動起動(daemon化) - end0tknrのkipple - web写経開発

plack(starlet)の設定ファイル

# vi /etc/supervisord.d/ean_starlet.ini

[program:ean-starlet]
directory=/var/www/Ean/app/Ean/script
command=/var/www/Ean/local/perl5/bin/start_server --port=5000
--interval=10 \
  -- /var/www/Ean/local/perl5/bin/plackup -E development \
  --no-default-middleware -s Starlet --max-workers=25 --timeout=1800 \
  --keepalive-timeout=0 --max-reqs-per-child=700 --min-reqs-per-child=1000 \
  /var/www/Ean/app/Ean/script/Ean-server
numprocs=1
autostart=true
autorestart=true
user=Eanapache
redirect_stderr=true
stdout_logfile=/var/log/Ean_starlet_log

※「-E development」で、Amon2の設定ファイルである
/var/www/Ean/app/Ean/config/development.pl をloadさせています

supervisord への ean_starlet の登録と起動

# /usr/local/bin/supervisorctl reread && /usr/local/bin/supervisorctl update
# /usr/local/bin/supervisorctl start ean-starlet