カラクリスタ

「輝かしい青春」なんて失かった人のブログ

開発用デーモンはforeverを使って管理すると便利

概要: Web 開発に使うデーモンを node.js 製の forever 使って管理してる


本日の小ネタ。

僕は、Web 開発するときに、mongodbのデーモンとかを、node.js製の、

nodejitsu/forever · GitHub

を使って管理していたりします。

この forever ですが、 元々の用途は node.js 製なサーバ類を管理するために作られたっぽいですが、 node.js 製以外のデーモンもバッチリ管理でき、 まだデーモンを管理するのに、 管理者権限がいらない! という点が気に入って使っています。

っていうか、開発とテスト用途でdaemontoolsとか使いづらいですし、 各 UNIX 系 OS で使われるデーモン管理ソフトウェア(systemdとかlaunchd)は、 デーモン起動するのに管理者権限が必要だったり、 あるいはテストするときだけにデーモンを動かしたいのに、 一々システムディレクトリにファイル配置しなきゃならんとか、 結構めんどいんですよね。

で、その点foreverコマンドラインで、 例えば Perl デーモンだと

$ forever -c perl start daemon.pl

という感じでデーモンを起動できるのでめっちゃ便利です。

また、バイナリのデーモンを動かしたいときは、

$ forever -c sh start daemon_runner.sh

という感じで、バイナリのデーモンを動かすシェルスクリプトを書いて、 それをforeverで起動してやれば良いだけなので、その点も便利です。

で、このforevernpmが使える環境であれば、

$ npm install -g forever

とコマンド一発でインスコできるので、その点も便利です。 ただ、node.jsnpmが使えるようにする必要がありますが。

ちなみに。

僕は環境が作ってあるのでforever使ってますが、 Perl 使いであれば、kazeburo さん作成の、

Proclet

を使うのも良いかもしれません。 Perl 製だし、これもインスコ楽だし。

まあそんな感じで。

僕はforever使ってるって話でした。おわり。

FIXME