用issnode+IIS来托管NodeJs Server之一:安装篇

这几篇文章是一个系列的:

  1.  用issnode+IIS来托管NodeJs Server之一:安装篇
  2.  用issnode+IIS来托管NodeJs Server之二:移植
  3.  用issnode+IIS来托管NodeJs Server之三:加入Windows集成验证功能
  4.  用issnode+IIS来托管NodeJs Server之四:支持Debug


一直觉得Nodejs的优势之一就是部署方便,不需要安装tomcat,IIS这些重量级的服务器托管程序,但是为了解决NTLM域认证(或者说Windows集成身份认证),我不得不选择使用IIS,原因是:

  • Nodejs没有现成的库来实现认证,写一个太麻烦了,没时间也没精力。
  • IIS天生就实现了NTLM认证,而且服务器端不用写任何代码。

本来我根本没想到IIS也能运行nodejs代码了,但是无意间,发现了有iisnode这个IIS Module,他的功能就是能够让IIS运行nodejs的代码,另外,他还有类似supervisor这些功能。iisnode的好处当然不止这些,可以参考这篇文章(主要是说nodejs的代码由IIS托管之后是如何如何的好,多线程啦,日志啦,反正IIS比node.exe好多了!切,有这么多好处,那还要nodejs有啥用?):http://tomasz.janczuk.org/2011/08/hosting-nodejs-applications-in-iis-on.html, 还有这篇,性能比较:http://tomasz.janczuk.org/2012/06/performance-of-hosting-nodejs.html

详细的安装过程可以看这个:https://github.com/tjanczuk/iisnode。但是我实践过程中,发现了一些问题,当然这是因为我是个IIS新手。。。

一、在一台Win7 x64的机器上,首先要安装IIS,Win7自带的IIS7,可以使用控制面板的"Windows Features“来安装,安装的时候,切记要把子项目都勾上,你只勾选父选项是没有用的。第一次安装,我没有全勾上,所以导致Web.config里面有写handler就报错。第二次,我学聪明了,能选的都选上:



二、安装完IIS后,马上去 https://github.com/tjanczuk/iisnode/wiki/iisnode-releases 下载最新的iisnode安装程序,装上。

三、去 http://www.iis.net/downloads/microsoft/url-rewrite 安装 IIS URL Rewrite,不然的话,express.Js不能使用,因为他需要在Web.config里面配置Rewrite的话,没装这个插件,IIS不能识别,会报错。

四、要验证iisnode能正常使用的话,可以打开控制台,然后根据提示,执行%programfiles%\iisnode\setupsamples.bat。如果能正常浏览sample里面的nodejs网站的话,那就说明安装成功了!


原文地址:https://www.cnblogs.com/puncha/p/3876907.html