微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

之前的文章一文讲解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视频教程

原文地址:https://www.jb51.cc/js/1204136.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐