2016-10-18 18 views
1

foreverを使用してnodejs APIをサービスとして起動する小さなデーモンを作成しました。NodeJSデーモンがラズベリーパイの起動時に起動しない

サービスは何の問題もなく開始し、停止しましたので、ラズベリーパイがオンになったらサービスを開始したいと思います。私のラズベリーパイはRaspbianです。

私は/etc/init.d/フォルダ内にサービスを配置し、update-rc.d myServiceName defaultsを実行しますが、起動後にサービスを開始していませんしました...

あなたは私を助けることができますか?私はDebian/Raspbianにnodejsサービスを作成するための良い解決策を見つけた

#!/bin/sh 

export PATH=$PATH:/usr/local/bin 
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules 

case "$1" in 
    start) 
    exec forever --spinSleepTime 10000 --sourceDir=/var/domothink -p /var/run/forever start dist/server.js 
    ;; 

    stop) 
    exec forever stop --sourceDir=/var/domothink dist/server.js 
    ;; 

    status) 
    # TODO 
    ;; 

    default) 
    # TODO 
    ;; 
esac 

exit 0 
+0

注意initはあなたはそれが 'forever'を見つけないかもしれないので、あなたがアカウントを持っている同じ$ PATHを持っていない可能性があること。だからこそ、人々はinitスクリプトに絶対パスを入れる傾向があります。 '/ whatever/path/to/forever'の代わりに' forever'を試してください – slebetman

+0

しかし、私はサービスをマニュアルで起動するとうまくいきます。絶対パスなし。あなたの解決策を試して、絶対パスを入れてみましょう。 – Eastrall

答えて

0

:スクリプトがあります。

forever-serviceパッケージをnpmでインストールし、このツールを使用してサービスを作成しました。

それは本当に良い解決策だし、本当に良い作品:https://github.com/zapty/forever-service

関連する問題