Starman自動起動とServer::Starter
前の記事に投稿しためろりんはPerlのウェブサーバStarmanでAmon2ウェブアプリケーションを配信しています。 proxyはnginxです。
で、今日めろりんを見たら、動いていないんです・・
原因はさくらVPSが再起動していたから・・
というか悪いのは自動起動する設定書いてないから
というわけで自動起動スクリプト書いてみたのでメモ
起動スクリプトは /etc/inid.d/ に書きます。
今回は
/etc/init.d/merolin.com_server_starter にしてみた。
#!/bin/bash # # Init file # # chkconfig: 2345 55 25 # description: merolin.com start_server # # processname: merolin.com start(){ echo "starting merolin.com..." /home/merolin.com/development/merolin/script/start.sh return 0 } stop(){ echo "stopping merolin.com..." ps -ef |grep 'start_server'|grep '/usr/bin/perl' | awk '{print "kill ",$2}'|sh return 0 } restart(){ echo "restarting merolin.com..." ps -ef |grep 'start_server'|grep '/usr/bin/perl' | awk '{print "kill ",$2}'|sh /home/merolin.com/development/merolin/script/start.sh return 0 } case $1 in start) start ;; stop) stop ;; restart) restart ;; esac
面倒だったのはkillでプロセス指定する部分。
通常server::starterが起動すると
/usr/bin/perl /usr/local/bin/start_server -- starman --workers 3 --max-req....
みたいになりました。
grepしたりめんどうです。 ていうか普通は違う簡単な方法あるのかも
以上起動メモ