设为首页 收藏本站
查看: 1014|回复: 0

[经验分享] 在IIS上运行node

[复制链接]

尚未签到

发表于 2017-12-27 15:44:21 | 显示全部楼层 |阅读模式
[TOC]


前言
  之前自己搞了个域名,然后发现域名默认映射到80端口,腾讯云又没有修改映射端口的功能。然后服务器又是和几个sx一起租的,于是只能想办法把发到80端口的请求分配到相应的项目里。当时有两个想法:自己写个中间件和用IIS,最后还是选了IIS,折腾好之后就没再管。结果最近升级了服务器,重新部署项目的时候发现基本上都忘光了。。于是就简单记录一下步骤。

iisnode
  IIS什么的就不多说了,直接说主要用的东西,iisnode。下载地址。
  另外还需要安装URL Rewrite。
  
安装iisnode之后,可以用%programfiles%\iisnode\setupsamples.bat来安装一个例子,然后访问http://localhost/node。
  
安装完之后,新建一个站点,监听80端口,配置好自己的域名。

web.config
  web.config配置可以参考github中samples中的configuration.
<configuration>  <system.webServer>
  <handlers>
  <add name=&quot;iisnode&quot; path=&quot;launch.js&quot; verb=&quot;*&quot; modules=&quot;iisnode&quot; resourceType=&quot;Unspecified&quot; requireAccess=&quot;Script&quot; />
  </handlers>
  <rewrite>
  <rules>
  <rule name=&quot;all&quot;>
  <match url=&quot;/*&quot; />
  <action type=&quot;Rewrite&quot; url=&quot;launch.js&quot; />
  </rule>
  </rules>
  </rewrite>
  <iisnode
  
      nodeProcessCommandLine=&quot;&quot;C:\Program Files\nodejs\node.exe&quot;&quot;
  
      interceptor=&quot;&quot;C:\Program Files\iisnode\interceptor.js&quot;&quot;
  
      promoteServerVars=&quot;REMOTE_ADDR&quot;/>
  </system.webServer>
  
</configuration>

launch.js
  因为bin会在url重写时被IIS屏蔽,因此不能直接把url重写到bin/www上,因此需要增加一个中间文件,或者修改bin目录的名字(当然是不推荐的)。
  
launch.js很简单,只需要require一下bin/www.
require('./bin/www');  接下来重启站点就可以了。

500.19
  如果运行的时候出现如下错误:

  500.19
  
配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=&quot;Deny&quot;),或者是通过包含 overrideMode=&quot;Deny&quot; 或旧有的 allowOverride=&quot;false&quot; 的位置标记明确设置的。

  这时候只要运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 其中的handlers是报错的节点名字。
  嘛,我是到这里就没有问题可以正常运行了。欢迎访问,虽然没有什么东西。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-428664-1-1.html 上篇帖子: iis+nginx实现负载均衡 下篇帖子: 将WebApi Host到控制台和IIS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表