🎯导读:本文档详述了基于前后端分离的若依系统(版本3.8.8)在Windows环境下从零开始的部署流程,包括JDK、Redis、MySQL等环境的搭建与配置。前端部署涉及Vue项目构建、图片优化及利用Nginx托管;而后端则涵盖Spring Boot应用的日志路径调整、配置文件修改与最终的jar包构建及运行。此外,文档还提供了服务器端口开放及防火墙设置的方法,确保部署的服务可被外部访问。本文旨在帮助开发者顺利完成项目的本地部署与测试。

若依版本说明

本文演示版本为前后端分离单机版本,版本号为3.8.8(下载地址),如果其他版本部署方式略有不同也正常
在这里插入图片描述

环境安装

平时都用Linux部署项目,使用Docker安装环境巴适得很(现在不太巴适了,国内的镜像很多都被封了)。虽然Win也可以安装Docker,但是还要开启虚拟化,也挺麻烦的

JDK

教程太多了,随便找都可以用

Redis

【Win开发环境搭建】Redis与可视化工具详细安装与配置过程

MySQL

【Win开发环境搭建】MySQL8安装+重装的数据备份方法【提供MySQL8.0.27版本的压缩包】

RabbitMQ安装

RabbitMQ是我项目额外使用的,跑若依本身不需要安装

Windows 安装配置 RabbitMQ 详解

Nginx安装

Nginx的作用主要是用于挂载前端项目

Nginx官方下载地址

因为服务器是win,所以下载win版本

在这里插入图片描述

部署过程

前端

前端部署会有一些小坑,建议跟着我的步骤来走

修改生产环境配置

把请求后端的ip端口改成后端服务所部署的ip端口

在这里插入图片描述

处理找不到模块错误

如果不做下面的修改,访问非首页的其他页面,会出现cannot find module错误

在这里插入图片描述
【修改方式】
修改如下两个文件

component: (resolve) => require(['@/views/system/user/authRole'],resolve),

在这里插入图片描述

return (resolve) => require([`@/views/${view}`], resolve)

在这里插入图片描述

图片压缩

若依系统自带的登录页背景图片大小是510KB(我这里换成其他的图片了,原图大小是3045KB),但是我的服务器的下载速度每秒最高只有128KB,假如使用这个图片,需要加载20多秒,用户的体验机及其差。其实图片不一定要分辨率那么高,只要看起来不模糊即可,为了优化用户的体验,需要对图片进行压缩。

经过使用压缩网站的压缩,图片大小变成552KB,但是还是需要花费4秒多的时间来加载,体验感还是不好。

在这里插入图片描述
最后使用PS进行进一步的压缩,把图片压缩到58KB,这样几百毫秒就可以成功加载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包

点击按钮即可执行打包

在这里插入图片描述
当然也可以在终端执行命令npm run build:prod来打包

在这里插入图片描述
出现Build complete,说明打包成功

在这里插入图片描述
打包成功之后生成如下文件

在这里插入图片描述

打包文件上传服务器nginx

在服务器中解压上面下载的Nginx压缩包

在这里插入图片描述
在html目录下面创建一个文件夹,名称你喜欢就行,建议使用项目的名称

在这里插入图片描述

将刚刚打包的文件丢上来

在这里插入图片描述

修改Nginx配置文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

location / {
    root   html/ipsFront;
    index  index.html index.htm;
	try_files $uri $uri/ /index.html;
}

添加try_files $uri $uri/ /index.html;是为了解决网页刷新报404的问题,如果不信,可以把这个删掉试一下

启动Nginx

在这里插入图片描述

在命令行中执行nginx.exe即可,注意要先定位到nginx所在目录

在这里插入图片描述

如下方式可以快速在命令行中定位到当前目录

在这里插入图片描述

启动完nginx,前端就算部署完了,等开放了端口,就可以通过ip地址:81访问前端页面了

后端

修改日志路径

项目一开始使用的是绝对路径,建议改成相对路径

在这里插入图片描述

后续运行之后,会自动在jar包同一层级创建一个logs文件夹来存储日志

在这里插入图片描述

修改配置文件

在这里插入图片描述
修改Redis、MySQL、RabbitMQ的连接ip和端口为服务器中间件的ip和端口。(建议创建dev、prod配置文件,来实现环境隔离,不用每次修改一堆配置)

执行打包

在这里插入图片描述

打包成功之后,生成如下jar,将该jar包放到服务器中运行即可

在这里插入图片描述

服务器运行jar

在相应目录运行如下命令启动程序

java -Xmx2048M -Xms2048M -jar ips-admin.jar

建议创建.bat批处理文件,把上面的命令丢进去,后面就可以直接双击bat文件启动,更加方便

在这里插入图片描述

开放端口

本文所用服务器在腾讯云购买,需要在安全组中编辑规则来开放相关的端口

在这里插入图片描述

将前端和后端的端口开放出来,因为我中间件都安装在服务器本机,直接用localhost访问即可,不需要开放端口,开放端口也不安全(注意,尽量使用一些少见的端口,例如MySQL不用3306,用其他的,且服务一定要设置比较难的密码,不然很容易被破解攻击)

在这里插入图片描述

执行到这一步,可以试试你的前后端是否可以访问了,如果可以访问,万事大吉,退出本文即可(当然退出之前,点个赞,我会很开心,哈哈哈)

我这台服务器光有上面的操作,还无法真正开放端口,还需要进一步管理服务器的防火墙

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
开放和上面一样的端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

快速构建 Web 应用程序

更多推荐