iisnode運行koa2項目

前言

前段時間在研究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

安裝url-rewrite

由於須要用到路由重寫,因此必須爲iis安裝URL Rewrite插件,下載地址爲:
https://www.iis.net/downloads/microsoft/url-rewritemongodb

安裝iisnode

https://github.com/Azure/iisnodeexpress

直接在github項目的release中下載最新版,咱們直接下載iisnode-full系列就ok了。
這貨最先是tjanczuk私人開發的,後面捐贈給微軟了,舊地址爲
https://github.com/tjanczuk/iisnodewindows

初步使用

  • 具體安裝步驟就不說了,直接讓他下一步下一步安裝完,默認安裝路徑爲:C:
    \Program Files\iisnode服務器

  • 而後咱們直接運行setupsamples.bat文件,它會自動在default web site中添加一個node項目
  • 此時咱們訪問http://localhost/node,若是能看到下面的頁面就說明大功告成了

    部署koa2項目

    仍是老樣子建立站點,而後將路徑指向koa2項目的根路徑,只須要添加一個web.config文件,填入如下內容:
<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="&quot;D:\Program Files\nodejs\node.exe&quot;" 
      interceptor="&quot;%programfiles%\iisnode\interceptor.js&quot;" />
     
   </system.webServer>
 </configuration>

請注意最後一段,我在裏面指明瞭nodejs的執行路徑,由於他的默認配置是指向C盤的,而我安裝時安裝在了D盤,因此會報一個沒法執行nodejs的錯誤。
全部的可配置選項,在sample中也有列出來:
https://github.com/Azure/iisnode/blob/master/src/samples/configuration/web.config

相關文章
相關標籤/搜索