ubuntuでdaemontools

node.jsのデーモン化とかプロセス管理するのでforeverっていうの試したけどいまいちバギーだったので結局damontoolsに落ち着いた。さすがの安定感。

インストール。svtoolsがdaemontoolsdaemontools-runってのは起動時に自動でsvscanしてくれるようになるやつ。両方入れる。

$ sudo apt-get install svtools daemontools-run

ubuntuでは/serviceじゃなくて/etc/serviceにサービスのディレクトリができるらしい。$HOME/serviceとかつくってそこからsimlink貼る。

$ mkdir ~/service
$ cd ~/service
$ mkdir -p hoge/log/main
$ vim hoge/run
$ vim hoge/log/run
$ chmod +x hoge/run hoge/log/run
$ sudo ln -s ~/service/hoge /etc/service/hoge

hoge/run

#!/bin/sh
exec 2>&1
exec env - NODE_ENV=production \
setuidgid hokamura \
/usr/local/bin/node /home/hokamura/sites/hogesite/app.js

hoge/log/run

#!/bin/sh
exec 2>&1
exec setuidgid hokamura multilog t ./main

んでサーバー再起動したら動いてるはず。

$ sudo svstat /etc/service/hoge
/etc/service/hoge: up (pid ***) *** seconds