ubuntuでdaemontools
node.jsのデーモン化とかプロセス管理するのでforeverっていうの試したけどいまいちバギーだったので結局damontoolsに落ち着いた。さすがの安定感。
インストール。svtoolsがdaemontoolsでdaemontools-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