zoukankan      html  css  js  c++  java
  • 在IIS上运行node

    前言

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


    iisnode

    IIS什么的就不多说了,直接说主要用的东西,iisnode下载地址

    另外还需要安装URL Rewrite
    安装iisnode之后,可以用%programfiles%iisnodesetupsamples.bat来安装一个例子,然后访问http://localhost/node
    安装完之后,新建一个站点,监听80端口,配置好自己的域名。

    web.config

    web.config配置可以参考github中samples中的configuration.

    <configuration>
        <system.webServer>
            <handlers>
                <add name="iisnode" path="launch.js" verb="*" modules="iisnode" resourceType="Unspecified" requireAccess="Script" />
            </handlers>
     
            <rewrite>
                <rules>
                    <rule name="all">
                        <match url="/*" />
                        <action type="Rewrite" url="launch.js" />
                    </rule>
                </rules>
            </rewrite>
            
            <iisnode
          nodeProcessCommandLine="&quot;C:Program Files
    odejs
    ode.exe&quot;" 
          interceptor="&quot;C:Program Filesiisnodeinterceptor.js&quot;" 
          promoteServerVars="REMOTE_ADDR"/>
        </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="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

    这时候只要运行%windir%system32inetsrvappcmd unlock config -section:system.webServer/handlers 其中的handlers是报错的节点名字。


    嘛,我是到这里就没有问题可以正常运行了。欢迎访问,虽然没有什么东西。

  • 相关阅读:
    redis之(十二)redis数据的持久化
    redis之(十一)redis实现缓存的功能
    redis之(十)redis实现消息中间件的功能
    redis之(九)redis的事务机制
    SQL关于IN和EXISTS的用法和区别的比较
    mysql explain extra理解
    mysql explain rows理解
    mysql explain中key_len值的说明
    redis常见重要性能指标数据分析和相关问题解决方案
    java.lang.UnsupportedOperationException解决方法!!!
  • 原文地址:https://www.cnblogs.com/FJH1994/p/6292286.html
Copyright © 2011-2022 走看看