Linux/openEuler系统部署spring boot+vue前后端分离项目(nginx均衡代理)

Linux/openEuler系统部署spring boot+vue前后端分离项目(nginx均衡代理)

1、系统环境准备,安装openjdk和nginx还有MySQL,咱们本文先连接主机mysql进行登录(linux上的mysql服务可以先不安装)

可以看我前面的文章
华为openEuler系统安装openjdk并配置环境变量
openEuler系统安装nginx
HUAWEI-OpenEuler系统安装MySQL服务器并使用详细步骤
Ubuntu安装MySQL服务器详细步骤

2、打包后端SpringBoot项目并部署到Linux系统中

2.1、打包

在确定项目可以正常运行的前提下,进行package打出jar包

2.2、将打的jar包放到咱们的linux系统中的opt目录下,可以在新建文件夹

3、打包前端Vue项目并部署到nginx中

3.1、在vue项目的package.json文件中将build配置做下面更改(删掉注释的那行,不然不能成功打包)

3.2、运行npm run build命令进行打包项目

npm run build

打包成功后在项目文件路径下出现dist文件夹

3.3、将打包的dist文件夹放到linux系统中的nginx的html路径下

4、配置nginx代理前端项目并实现均衡负载

4.1、编辑nginx配置文件


4.2、重新加载nginx配置文件(nginx -s reload)

4.3然后就可以通过linux的ip的默认80端口看到vue项目的首页

5、在linux系统中运行该SpringBoot+Vue前后端分离项目

5.1、进入到jar包所在的文件夹运行SpringBoot后端服务

如果不配置端口号则以你原本配置的端口号为默认端口,我原来的后端服务端口是8088

5.2、再次打开一个命令窗口使用其他端口打开后端服务,测试nginx的均衡负载

注意:上面两个打开服务的端口号要和配置nginx均衡负载里面的两个端口号保持一致

5.3、再次打开命令窗口,打开这两个端口的防火墙

java 复制代码
> firewall-cmd --zone=public --add-port=8088/tcp --permanent
> firewall-cmd --zone=public --add-port=8089/tcp --permanent
> firewall-cmd --reload

5.4、大家可以看我的这篇文章进行mysql的安装(如果使用主机mysql可以先不安装)

HUAWEI-OpenEuler系统安装MySQL服务器并使用详细步骤
Ubuntu安装MySQL服务器详细步骤

5.5、修改主机后端项目的mysql连接为通过本机ip连接

5.6、设置root用户允许远程连接

将重新打包的后端jar包重新导入到linux中再次运行

即可使用数据库成功登录

6、nginx均衡负载测试

多次点击项目任意请求,观察虚拟机中两个命令窗口的控制台信息

8088服务窗口

8089服务窗口

可以看出两个服务端口轮流接收请求,满足之前nginx设置的权重!!!

相关推荐
涵信5 分钟前
第十节:性能优化高频题-虚拟DOM与Diff算法优化
javascript·vue.js·性能优化
拖孩12 分钟前
【Nova UI】十一、组件库中 Icon 组件的测试、使用与全局注册全攻略
前端·javascript·vue.js·ui·sass
꧁坚持很酷꧂20 分钟前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt
Java水解27 分钟前
线程池详解:在SpringBoot中的最佳实践
spring boot·后端
凉、介37 分钟前
PCI 总线学习笔记(五)
android·linux·笔记·学习·pcie·pci
电鱼智能的电小鱼1 小时前
EFISH-SBC-RK3588无人机地面基准站项目
linux·网络·嵌入式硬件·机器人·无人机·边缘计算
阿里小阿希1 小时前
解决 Spring Boot + MyBatis 项目迁移到 PostgreSQL 后的数据类型不匹配问题
spring boot·postgresql·mybatis
电鱼智能的电小鱼1 小时前
基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
linux·网络·嵌入式硬件·数码相机·无人机·边缘计算
码起来呗1 小时前
基于SpringBoot的高校学习讲座预约系统-项目分享
spring boot·后端·学习
凉豆菌2 小时前
在html中如何创建vue自定义组件(以自定义文件上传组件为例,vue2+elementUI)
vue.js·elementui·html