• 技术文章 >web前端 >js教程

    一招教你使用Node.js中iis部署运行node(附代码)

    奋力向前奋力向前2021-09-14 11:04:38转载89

    之前的文章《一文讲解Win10子系统安装与配置(分享)》中,给大家了解了Win10子系统安装与配置。下面本篇文章给大家介绍怎么使用Node.js中iis部署运行node,我们一起看看怎么做。

    linux迁移到windows server,一言难尽。网上有说iis已经支持node了。IIS Node折腾了一下,没跑起来,估计兼容性不是那么好,索性放弃了。直接pm2部署了。

    IIS Node地址:https://github.com/tjanczuk/iisnode/wiki/iisnode-releases

    安装了IIS UrlRewrite 地址:https://www.iis.net/downloads/microsoft/url-rewrite

    在站点根目录创建web.config, 内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <clear />
                    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                        </conditions>
                        <action type="Redirect" url="https://{HTTP_HOST}" redirectType="Found" />
                    </rule>
                    <rule name="root">
                        <match url="^(.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                            <add input="{HTTP_HOST}" pattern="^chuchur.com$" />
                        </conditions>
                        <action type="Rewrite" url="http://127.0.0.1:7005/{R:1}" logRewrittenUrl="true" />
                    </rule>
                    <rule name="path">
                        <match url="^(.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                            <add input="{HTTP_HOST}" pattern="^www.chuchur.com$" />
                        </conditions>
                        <action type="Rewrite" url="http://127.0.0.1:7005/{R:1}" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

    其中有三条规则,第一条是https的转发

    第二条和第三条分别是把来源是主记录(chuchur.com)和别名(www.chuchur.com)的统统转发到node端口上。

    剩下的就是一个SPA文档站点 (vue)

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <clear />
                    <rule name="rest" stopProcessing="true">
                        <match url="^rest/(.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="http://127.0.0.1:7005/rest/{R:1}" />
                    </rule>
                    <rule name="root">
                        <match url="(.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="/index.html" />
                    </rule>
                </rules>
            </rewrite>
            <staticContent>
                <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
            </staticContent>
        </system.webServer>
    </configuration>

    一起有 2 条规则,第一条是一个proxy, 把/rest/转发到node端口的/rest/上。第二条是vue路由history模式的地址Rewrite

    阿里云是个坑货啊,买了2年的CES,到期了, 我就想着不续费,重新转到香港算了,这样我在香港搭个VPN,又便宜,然后顺利的解决了翻墙的问题。

    买了台Window Server2008,一切准备就绪,什么都部署好了。结果没过两周,提示域名备案失效,个人认证失效,总之之前做的一切工作,都没用了。再次认证提示,服务器不在境内。香港不行。要我迁移回来。

    说实在的香港的主机真的不怎么样,经常登录不上,vpn也是时好时坏,基本也就是连不上,正好又出了政策,未备案的域名停止解析。这下网站基本就挂了。

    于是又迁移回国内了。重新备案,重新个人认证一堆...

    又从Window切到Linux。真的是很扯淡...

    留个记录,怕哪天又要去折腾IIS

    推荐学习:Node.js视频教程

    以上就是一招教你使用Node.js中iis部署运行node(附代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:禅境花园,如有侵犯,请联系admin@php.cn删除
    专题推荐:nodejs iis
    上一篇:10个知道收藏的酷炫转场特效 下一篇:怎么用javascript实现文字滚动
    线上培训班

    相关文章推荐

    • 介绍IIS脚本自动化部署方式• IIS Express介绍与使用• IIS中怎么安装配置PHP5.3配置• iis php怎么修改端口• iis7怎么设置php最大执行时间

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网