如何使用Node.js中iis部署运行node

这篇文章给大家介绍如何使用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

关于如何使用Node.js中iis部署运行node就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

网站名称:如何使用Node.js中iis部署运行node
分享链接:https://www.cdcxhl.com/article12/jpjsdc.html

成都网站建设公司_创新互联,为您提供企业网站制作微信公众号自适应网站ChatGPT用户体验软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司