岩手からこんにちは ☆彡 perl とかウェブ系なブログ

はてなダイアリーからひっこしましたよ http://d.hatena.ne.jp/rosiro

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したりめんどうです。 ていうか普通は違う簡単な方法あるのかも

以上起動メモ