「とりあえず、動きますよ」程度のメモです
Starlet の install
$ wget http://search.cpan.org/CPAN/authors/id/K/KA/KAZUHO/Starlet-0.24.tar.gz $ tar -zxvf Starlet-0.24.tar.gz $ perl Makefile.PL $ make $ make test $ su #make install
supervisord の install
↓こちらに記載の通り
daemon化アプリ:supervisor をsrcからinstall - end0tknrのkipple - web写経開発
supervisord の 設定
supervisordに付属のscriptに任せます
$ su - # /usr/local/bin/echo_supervisord_conf > /etc/supervisord.conf # vi /etc/supervisord.conf ※必要に応じて /etc/supervisord.conf を編集して下さい
pidfileは
/tmp/supervisord.pid -> /var/run/supervisord.pid に変更しました
supervisord自体の自動起動
https://github.com/Supervisor/initscripts で公開されていますので、これを次の手順で配備します。
$ su - # cp redhat-init-jkoppe /etc/rc.d/init.d/supervisord # chmod 755 /etc/rc.d/init.d/supervisord # cp redhat-sysconfig-jkoppe /etc/sysconfig/supervisord # chkconfig --add supervisord # chkconfig --list supervisord
※ /etc/rc.d/init.d/supervisord は、pathを
/usr/bin/ -> /usr/local/bin/ に変更した方が良いかもしれません。
supervisordによる Starlet(PSGI/Plack)の起動(daemon化)
[include] files = /etc/supervisord.d/*.ini
/etc/supervisord.conf を上記のように編集し、daemon化するアプリを別ファイルで管理する方法もあるようですが、
今回は、/etc/supervisord.conf に直接、次のような内容を記載しました。
$ vi /etc/supervisord.conf [program:ban-starlet] directory=/home/endo/dev/sexy-src-step2/Ban/script command=/usr/local/bin/start_server --port=cent6.a5.jp:5000 --interval=10 -- /usr/local/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 /home/endo/dev/sexy-src-step2/Ban/script/ban-server numprocs=1 autostart=true autorestart=true user=endo redirect_stderr=true stdout_logfile=/home/endo/local/apache22/logs/starlet_error_log