將node.js程式註冊為windows服務__js

來源:互聯網
上載者:User

轉載地址:http://www.grati.org/?p=236

應lemonhall要求,寫一篇在windows中部署nodejs程式的文章,並提供了how to node上 “deploying-node-with-spark(如何使用spark部署node)“文章的連結(非常感謝lemonhall),今天有空正好說一下。

nodejs編寫的應用大都是網路服務,所以還是十分有必要使其能夠按照deamon的方式執行的。我對“以deamon方式執行”有兩點理解:1:能夠給實現開機自動執行,且無需使用者登入。2:deamon程式的有效使用者ID和組ID(決定deamon許可權)一般不是電腦的常用操作賬戶。  要想使應用程式在windows中以deamon方式執行,只需將其註冊為系統服務即可。在WindowsNT資源工具包中提供了兩個小工具Instrsrv.exe和Srvany.exe,按照微軟官方的說法這兩個小程式支援WinNT和Win2K,不過經過網上搜到的結果來看,他們同樣可以運行在XP上(至於WinServer2008能不能用,有條件的幫忙試一下)。 具體部署的方法,我轉載一篇Slyar的文章win下開機不登陸系統自動運行程式,就不再重新寫了。

最後說一點我的觀點,在windows中,nodejs是通過cygwin的中介層啟動並執行,所以效能和穩定性應該都不能和類Unix平台的原生程式相比。在Windows中使用nodejs應該只是調試目的,在生產環境穩定和效能第一,方便行就可以稍微犧牲一點。所以在生產環境還是部署在LinuxServer上比較好一點。

PPS:在說一點我對nodejs編程方法的理解:nodejs程式沒有好用的調試器,習慣vs的朋友可能會覺得非常彆扭,其實把單元測試細化,每實現一個功能甚至每寫一個函數都可以測試一下,看看函數有沒有按照期待的方式工作。還有,一定要把日誌輸出清楚。這樣,編寫程式就可以完全不用調試器,而且代碼品質還能夠提高,最後算算,開發速度不見得會變慢。

如下的服務註冊方法:

Windows NT Resource Kit 提供了2個小工具可以協助我:

Instrsrv.exe installs and removes system services from Windows NT.

Srvany.exe allows any Windows NT application to run as a service.

Instsrv.exe可以給系統安裝和刪除服務,Srvany.exe可以讓程式以服務的方式運行。下面我來說具體安裝過程。

1、將Instsrv.exe和Srvany.exe放置到某目錄下,下面用%path%代替路徑

2、開啟CMD,輸入以下內容,其中ServerName為你要建立的服務名稱

%path%\instsrv ServerName %path%\srvany.exe

3、開啟regedit登錄編輯程式,找到以下目錄

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServerName>

4、滑鼠右鍵單擊<ServerName>,建立一個”項”,名稱為”Parameters”

5、滑鼠左鍵單擊”Parameters”,在右邊點擊滑鼠右鍵,建立一個”字串值”(REG_SZ),名稱為”Application”,數值資料裡填寫你要執行的程式完整路徑。

6(可選)、滑鼠左鍵單擊”Parameters”,在右邊點擊滑鼠右鍵,建立一個”字串值”(REG_SZ),名稱為”DependOnService”,數值資料裡填寫該服務依存的服務名稱。不知道依存是什麼的,你可以保持繼續不知道,我不解釋。

7、開啟services.msc服務控制台,找到<ServerName>,滑鼠右鍵-屬性-登陸,勾選”允許服務與案頭互動”(一般你要啟動並執行程式都是有介面的吧)。 恩,一般這樣就可以了。

文中提到的兩個小工具下載。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.