windows server + iis 部署若伊前端vue项目

一、背景说明

工作原因,一直使用若伊前后端分离版框架进行二次开发。客户的服务器多数为windows server系统,少部分为linux系统。过去一直是使用nginx进行前端的部署,nginx的代理功能确实强大,但是在windows系统上发现一些小问题。前阵子机缘巧合之下发现了Windows server操作系统自带的iis服务,便尝试使用iis发布web服务。简单测试暂未发现问题。网上找了找,没有发现完整的指引,只在csdn看到一个说明,但是要订阅专栏才能看全文,恶心!

二、windows下使用nginx代理发现的问题

很多客户都是要求将系统部署到他们自己的内网服务器上,偶尔会手动关闭服务器。为了减少现场支持、远程支持的次数,降低成本,就要求前端服务具备服务器开机自启的功能。

1,开机自启:一直没有找到直接将nginx注册为windows服务的方法,只能通过第三方软件实现(名字忘了叫啥了);

2,重复启动:最头疼的问题其实是这个,客户自己的运维人员,有的时候会自己操作,再启动一次或者多次nginx,导致后台实际上有多个nginx同时在运行,这种情况下只能通过任务管理器关闭nginx进程。

三、部署环境

服务器操作系统版本:Windows Server 2022 Standard 21H2

若伊版本:3.8.8

四、部署步骤概要

1,安装iis服务(无需外网)

2,下载路由插件和重写插件(需要外网)

3,安装路由插件和重写插件

4,若伊vue项目调整并打包

5,配置网站

6,配置url重写规则

五、部署

1,安装iis服务(无需外网)

打开windows server 自带的服务器管理器,打开添加角色和功能->下一步->下一步->选中web服务器(IIS)... 反正只需要选中iis服务,按着提示一直下一步安装就可以了。这个过程不需要连接互联网也不需要重启。

安装完成后,在windows管理工具下面会有Internet Information Services(IIS)

2,下载并安装路由插件和重写插件(需要外网)

把这俩玩意下载下来,双击安装就好(链接我回头找一下,会发出来)

3,若伊vue项目调整并打包

打包之前,需要先调整一下路由的模式,history改为hash

4,配置网站

打开iis,左边选中网站,右边点击"添加网站..."("网站"展开后有一个默认的网站,可以先删了)

设置网站名称(随便写)、物理路径(前端打包后的dist文件夹,选到index.html所在文件夹)、ip地址、端口

点击确定,此时应该能够进入到若伊的登录也,上面的路径有#,此时获取不到验证码(我的已经调完了,所以有验证码)

5,配置url重写规则(重写后端请求)

注:如果没有Application Request Routing Cache和URL重写,则是第二部的那两个插件没装上

打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能

点击 网站下面刚刚创建的ruoyi-web,点击URL重写,点击打开功能

点击添加规则

选择空白规则,点确定

设置

名称:若伊后端(随便写)

请求的URL:与模式匹配

使用:通配符

模式:prod-api/*

操作类型:重写

重写URL:http://10.10.0.18:8080/{R:1}

设置完就大功告成了!