在運行Ubuntu 11.10的開發虛擬機上安裝並設置node.js之後,我想讓supervisor在啓動時自動啓動,在需要時調用並重新加載node.js。如何在啓動時啓動node.js + supervisor?
下面的代碼片段在終端中由我的默認用戶運行時效果很好,但是如何讓它在啓動時運行?
cd /var/ && supervisor -w www www/myapp/app.js
感謝
在運行Ubuntu 11.10的開發虛擬機上安裝並設置node.js之後,我想讓supervisor在啓動時自動啓動,在需要時調用並重新加載node.js。如何在啓動時啓動node.js + supervisor?
下面的代碼片段在終端中由我的默認用戶運行時效果很好,但是如何讓它在啓動時運行?
cd /var/ && supervisor -w www www/myapp/app.js
感謝
Upstart plus monit可以很好地工作,讓所有的東西在啓動時運行並保持節點進程。另外你可以使用npm來安裝它們。 Here's a tut。
我不確定爲什麼主管需要在啓動時運行(在邏輯上,唯一需要這個時間的是你上傳新文件的時間),但我想可以在啓動時啓動剛剛創建一個新的暴發戶配置(使用上述基礎相同嘖嘖):
#!upstart
description "myapp supervisor"
author "you"
start on startup
stop on shutdown
script
echo $$ > /var/run/supervise_yourprogram.pid
// does it need root access? if so...
// exec sudo -u username supervisor --restart-on-error myapp.js
supervisor --restart-on-error myapp.js
end script
pre-stop script
rm /var/run/supervise_yourprogram.pid
end script
我不知道你會需要的monit這種情況下,由於上司都有自己--restart-ON誤差。
和here's a whole different approach,使用一個包裝器,你會調用,而不是你的app.js.它看起來很有趣。
This Ubuntu page對如何編寫Ubuntu的一個服務的指導。
那麼,從我所知道的情況來看,當節點目錄中發生更改時,monit並不在乎重新加載節點。對? – Industrial 2012-01-16 16:22:32
Gyah!我將它讀作[監督](http://manpages.ubuntu.com/manpages/natty/man8/supervise.8.html),這是一個完全不同於節點主管的紗線:)讓我更新我的答案。 – Kato 2012-01-16 21:07:14
非常感謝加藤! – Industrial 2012-01-21 16:19:38