SpringBoot前后端分离项目,打包、部署到服务器详细图文流程_springboot前后端分离项目怎么部署

服务器 0
+ - [1.修改MySQL配置](#1MySQL_3)	- [2.修改Redis配置](#2Redis_6)	- [3.修改日志路径和字符集配置](#3_9)+ [二、将源码压缩并上传服务器](#_17)+ - [1.上传前端文件](#1_18)	- [2.上传后端文件(同上)](#2_25)+ [三、前端项目打包](#_26)+ - [1.安装依赖](#1_27)	- [2.项目打包](#2_32)+ [四、后端项目打包](#_36)+ - [1.项目打包(jar包)](#1jar_37)	- [2.项目打包(war包)](#2war_41)+ [五、部署前端项目](#_53)+ - [1.使用Nginx部署前端项目](#1Nginx_54)+ [六、部署后端项目](#_66)+ - [1.部署jar包方式](#1jar_67)	- [2.部署war包方式](#2war_76)	- [3.配置集群](#3_88)
  • 部署注意事项
    • 前端页面非首页部分刷新的时候,页面404问题
      • 部署后端项目启动失败
      • 节省服务器空间

实施步骤

一、修改配置文件地址

1.修改MySQL配置

修改MySQL地址,修改需要部署的数据名,账号和密码
在这里插入图片描述

2.修改Redis配置

修改Redis地址,修改需要部署的Redis密码(如果需要的话)
在这里插入图片描述

3.修改日志路径和字符集配置

修改logback.xml中日志的保存地址
在这里插入图片描述

重新设置日志字符集(防止放到服务器上去之后日志出现乱码)
在这里插入图片描述
在这里插入图片描述

二、将源码压缩并上传服务器

1.上传前端文件
  • 提前在本地将完整的源码文件,压缩成.zip格式
  • 在服务器上创建存放项目源码的文件夹(/workspace)
  • 通过xftp工具将打包好的前端项目源码上传到服务器对应文件夹下
  • 使用命令unzip ruoyi-ui.zip来解压项目源码
  • 使用命令rm -rf ruoyi-ui.zip删除原来的压缩文件
  • 使用命令cd ruoyi-ui/进入源码文件夹
2.上传后端文件(同上)

三、前端项目打包

1.安装依赖
  • 使用命令cd ruoyi-ui/进入源码文件夹
  • npm install --unsafe-perm --registry=https://registry.npm.taobao.org安装前端项目依赖(服务器必须安装node.js)
  • --unsafe-perm 防止权限问题
  • --registry=https://registry.npm.taobao.org 淘宝镜像源,国内速度更快
2.项目打包
  • 使用命令npm run build:prod
  • 打包完成后会生成一个dist目录(默认目录名为dist)
    在这里插入图片描述

四、后端项目打包

1.项目打包(jar包)
  • 使用命令mvn package(需要服务器安装maven环境)
  • 使用命令cd target/进入到目录就能看到打好的jar包(这里的jar包是ruoyi.jar)
  • 将jar包拷贝到上级目录,防止target目录清理导致jar包丢失
2.项目打包(war包)
  • 修改pom文件
    在这里插入图片描述
  • 排除掉自带的Tomcat,这样才能部署到外置的tomcat
    在这里插入图片描述
  • 新增一个启动类,指向原有的启动类
    在这里插入图片描述
  • 将修改后的两个文件上传到服务器(上传对应文件并替换即可)
  • 使用命令mvn clean清理目录
  • 使用命令mvn package打war包

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

也许您对下面的内容还感兴趣: