前段時間在研究koa2+mongodb,搗鼓完一個項目以後,就是發佈的問題了。通常來講,nodejs的項目,推薦開發用nodemon,生產用pm2。二者均可以監聽文件變動重啓node項目,而pm2則更爲強大,更擁有性能監控,日誌,負載均衡等等高級功能。node
在linux服務器上,咱們通常會選擇使用pm2啓動,而後使用nginx轉發。而在windows上,咱們首選的則是這個iisnode啦,不爲別的,就由於這貨是iis插件,使用更方便,也可以監聽文件變動自動重啓node項目,至於做者宣稱的其餘各類優勢,咱們就不用管了,畢竟真要說性能的話,我在stackoverflow上面還見過吐槽iisnode性能差的問題呢。linux
iis7.x/8.xnginx
請注意不要低於iis7,至於iis express/WebMatrix,iisnode也是支持的git
nodejsgithub
下載並安裝nodejs的最新windows版本web
由於須要用到路由重寫,因此必須爲iis安裝URL Rewrite插件,下載地址爲:
https://www.iis.net/downloads/microsoft/url-rewritemongodb
https://github.com/Azure/iisnodeexpress
直接在github項目的release中下載最新版,咱們直接下載iisnode-full系列就ok了。
這貨最先是tjanczuk私人開發的,後面捐贈給微軟了,舊地址爲
https://github.com/tjanczuk/iisnodewindows
具體安裝步驟就不說了,直接讓他下一步下一步安裝完,默認安裝路徑爲:C:
\Program Files\iisnode服務器
此時咱們訪問http://localhost/node,若是能看到下面的頁面就說明大功告成了
<configuration> <system.webServer> <handlers> <add name="iisnode" path="app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="app"> <match url="/*" /> <action type="Rewrite" url="app.js" /> </rule> </rules> </rewrite> <security> <requestFiltering> <hiddenSegments> <add segment="node_modules" /> </hiddenSegments> </requestFiltering> </security> <iisnode nodeProcessCommandLine=""D:\Program Files\nodejs\node.exe"" interceptor=""%programfiles%\iisnode\interceptor.js"" /> </system.webServer> </configuration>
請注意最後一段,我在裏面指明瞭nodejs的執行路徑,由於他的默認配置是指向C盤的,而我安裝時安裝在了D盤,因此會報一個沒法執行nodejs的錯誤。
全部的可配置選項,在sample中也有列出來:
https://github.com/Azure/iisnode/blob/master/src/samples/configuration/web.config