plackアプリをsupervisorで永続化

supervisorのインストールやら設定等々は、前回のエントリー(supervisorをCentOS6.5にインストールしたメモ)に書いたとおりです。

今回は、アプリ毎の設定を。

[program:myapp]
directory=/home/web/MyApp
command=bash -lc 'carton exec -- start_server --port 127.0.0.1:8000 -- plackup -s Starlet -E production --max-workers=1 --max-keepalive-reqs=1 --max-reqs-per-child=5 script/myapp-server'
numprocs=1
autostart=true
autorestart=true
startsecs=3
user=web
redirect_stderr=true
stdout_logfile=/var/log/myapp.log
stderr_logfile=/var/log/myapp_err.log
redirect_stderr=true

細かい調整等々は必要だと思いますが、とりあえずこんな感じ。
動かなかったらlogとか見ればよいと思います。。

しょぼサーバーなので、アプリの起動に時間がかかるらしく、startsecs=1とかにしてると、うまく起動しなかったんで、3くらいにしといた。