2016-10-18 96 views
1

我創建了一個小守護程序,它使用forever作爲服務啓動我的nodejs API。NodeJS守護進程沒有在啓動時在樹莓派上啓動

既然服務啓動和停止沒有任何問題,我想讓它在樹莓派開啓時啓動。我的樹莓派正在Raspbian上運行。

我放在服務於/etc/init.d/文件夾,並執行update-rc.d myServiceName defaults但啓動後不啓動該服務...

你能幫助我嗎?還有的腳本:

#!/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

注意,對於您的帳戶,因此可能無法找到'forever'初始化可能沒有你有相同的$ PATH。這就是爲什麼人們傾向於在init腳本中放置絕對路徑的原因。嘗試'/任何/路徑/到/永遠'而不是'永遠' – slebetman

+0

但是,當我啓動服務manualy它效果很好。沒有絕對路徑。我會嘗試你的解決方案,把這條絕對路徑。 – Eastrall

回答

0

我已經找到了在Debian/Raspbian創建服務的NodeJS一個很好的解決方案。

我使用npm安裝了forever-service軟件包,並使用此工具創建服務。

這是一個很好的解決方案,它的作品真的很好:https://github.com/zapty/forever-service