前段时间在研究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