一、背景说明
工作原因,一直使用若伊前后端分离版框架进行二次开发。客户的服务器多数为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}
设置完就大功告成了!