一招教你使用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视频教程
以上就是一招教你使用Node.js中iis部署运行node(附代码)的详细内容,更多请关注其它相关文章!