SpringBoot + Element UI 楠橘星后台管理系统一键打包部署教程文档

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: SpringBoot + Element UI 楠橘星后台管理系统一键打包部署教程文档

JDK8

一、通过xftp进行文件的上传

二、tar zxvf jdk-8u191-linux-x64.tar.gz 解压文件

三、编辑配置文件 vim /etc/profile

export JAVA_HOME=/usr/local/environment/jdk/jdk1.8.0_291
export JRE_HOME=/usr/local/environment/jdk/jdk1.8.0_291/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

四、重新加载配置文件 source /etc/profile

五、java -version 查看是否成功
在这里插入图片描述

Docker安装

1、配置yum流

首先我们设置yum源
 # 这里我们选择使用阿里云的镜像源(速度比较快)
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果出现 sudo: yum-config-manager: command not found的问题,我们执行如下命令:
# 这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里
yum -y install yum-utils
出现如下信息则表示设置成功
[root@VM-8-3-centos app]#  sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo

2、查看选择docker版本

# 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
[root@VM-8-3-centos app]# yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64                3:20.10.9-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.8-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.7-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.6-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.5-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.4-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.3-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.2-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.1-3.el8                 docker-ce-stable
docker-ce.x86_64                3:20.10.12-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.11-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.10-3.el8                docker-ce-stable
docker-ce.x86_64                3:20.10.0-3.el8                 docker-ce-stable
docker-ce.x86_64                3:19.03.15-3.el8                docker-ce-stable
docker-ce.x86_64                3:19.03.14-3.el8                docker-ce-stable
docker-ce.x86_64                3:19.03.13-3.el8                docker-ce-stable
Docker CE Stable - x86_64                        17 kB/s |  19 kB     00:01    
上次元数据过期检查:0:00:01 前,执行于 2021年12月27日 星期一 21时20分01秒。

3、安装docker

我们这里就安装最新版本的Docker
#不指定版本号,则默认安装最新版本
sudo yum install docker-ce 
已安装:
  container-selinux-2:2.167.0-1.module_el8.5.0+911+f19012f9.noarch                   containerd.io-1.4.12-3.1.el8.x86_64                                        
  docker-ce-3:20.10.12-3.el8.x86_64                                                  docker-ce-cli-1:20.10.12-3.el8.x86_64                                      
  docker-ce-rootless-extras-20.10.12-3.el8.x86_64                                    docker-scan-plugin-0.12.0-3.el8.x86_64                                     
  fuse-common-3.2.1-12.el8.x86_64                                                    fuse-overlayfs-1.7.1-1.module_el8.5.0+890+6b136101.x86_64                  
  fuse3-3.2.1-12.el8.x86_64                                                          fuse3-libs-3.2.1-12.el8.x86_64                                             
  libcgroup-0.41-19.el8.x86_64                                                       libslirp-4.4.0-1.module_el8.5.0+890+6b136101.x86_64                        
  slirp4netns-1.1.8-1.module_el8.5.0+890+6b136101.x86_64                            

完毕!

4、查看docker版本号

# 查看docker版本号
docker version
出现如下信息说明安装成功
[root@VM-8-3-centos app]# docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

5、加入开启启动

# 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
出现如下信息说明设置成功
[root@VM-8-3-centos app]# sudo systemctl start docker
[root@VM-8-3-centos app]# sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

6、测试镜像拉取

#  测试拉取Hello-world镜像
docker pull hello-world
docker images 查看镜像列表
[root@VM-8-3-centos app]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   3 months ago   13.3kB
Dockerfile
FROM java:8
VOLUME /tmp
ADD blog-springboot-0.0.1.jar blog.jar       
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"] 

Docker安装mysql

拉取Mysql镜像
docker pull mysql 
运行mysql
docker run -d -p 3306:3306 --name myMysql  -e MYSQL_ROOT_PASSWORD=123456 mysql

在这里插入图片描述

Docker安装redis

拉取Redis镜像
docker pull redis
docer run -d -p 6379:6379
docker run -d -p 6379:6379 --name myRedis  redis

使用Docker安装Nginx

1、拉取Nginx镜像

输入命令 docker pull nginx拉取nginx镜像
 #拉取nginx镜像
 docker pull nginx
 #查看镜像列表
 docker images
[root@VM-8-3-centos app]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 
f3409a9a9e73: Pull complete 
9919a6cbae9c: Pull complete 
fc1ce43285d7: Pull complete 
1f01ab499216: Pull complete 
13cfaf79ff6d: Pull complete 
Digest: sha256:366e9f1ddebdb844044c2fafd13b75271a9f620819370f8971220c2b330a9254
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 查看镜像列表
[root@VM-8-3-centos app]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    f6987c8d6ed5   6 days ago   141MB

2、启动nginx镜像(暂时启动)

我们直接执行命令 docker run -d -p 80:80 --name nginx nginx,先不进行数据卷的挂载,这是因为nginx的conf目录中的部分文件通过挂载并不会挂载出来,从而导致镜像运行之后直接停止!

出现如下信息表示启动成功
[root@VM-8-3-centos app]# docker run -d -p 80:80 --name nginx nginx
94230b8be4072cd5a66d15992816de37876c8761b450cf5b41ca5acb3c65f797
[root@VM-8-3-centos app]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
94230b8be407   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx
接下来我们将容器内部配置文件拷贝出来
 # docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径
docker cp 94230b8be407:/etc/nginx/conf.nginx /usr/local/app/nginx/conf/
docker cp 94230b8be407:/etc/nginx/conf.d /usr/local/app/nginx/conf/
在目录下会出现我们拷贝出来的文件
[root@VM-8-3-centos conf]# ls
conf.d  nginx.conf
[root@VM-8-3-centos conf]# pwd
/usr/local/app/nginx/conf

3、启动nginx镜像(目标启动)

我们可以将之前启动的nginx镜像停止删除掉了。

# 停止容器
docker stop 94230b8be407
# 删除容器
docker rm 94230b8be407
# 查看所有容器 (包括没有运行的容器)
出现如下信息删除成功
[root@VM-8-3-centos conf]# docker stop 94230b8be407
94230b8be407
[root@VM-8-3-centos conf]# docker rm 94230b8be407
94230b8be407
[root@VM-8-3-centos conf]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

接下来我们进行数据卷的挂载。

我们执行如下命令启动nginx镜像
docker run -d -p 主机端口:容器端口 -v 本地目录:容器目录

docker run -d                          # -d 表示后台运行
-p 80:80 -p 443:443                                      # -p 表示端口映射 其中443端口为https端口配置
--name nginx                                                      # --name 表示容器名称
-v /usr/local/app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  #-v 表示数据卷挂载。 nginx.conf 配置文件
-v /usr/local/app/nginx/conf/conf.d:/etc/nginx/conf.d                  #conf.d 配置文件
-v /usr/local/app/nginx/html/:/usr/share/nginx/html                      #html   文件目录
-v /usr/local/app/nginx/logs/:/var/log/nginx/                                  #logs   日志信息
-v /usr/local/app/nginx/ssl/:/usr/local/app/nginx/ssl          #ssl    证书存放位置
-v /usr/local/app/upload/:/usr/local/app/upload nginx                  #upload 上传路径
看到如下信息表示启动成功
[root@VM-8-3-centos conf]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                                                      NAMES
ae78ee20160c   nginx     "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
基础服务配置
server {
        listen  80;
        server_name  ip地址;

        location / {
            root    /usr/share/nginx/html/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        location ^~ /v2/api/ {
            proxy_pass http://ip:端口/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

    }

Dockerfile:

FROM java:8
VOLUME /tmp
ADD blog-springboot-0.0.1.jar blog.jar       
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"] 

nginx基础框架:

server {

        listen  80;
        server_name  ip地址;

        location / {
            root    /usr/share/nginx/html/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        location ^~ /v2/api/ {
            proxy_pass http://ip:端口/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

    } 
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
9天前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
42 13
|
5天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
25 10
|
5天前
|
Java 应用服务中间件
SpringBoot工程打包部署
SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。
|
20天前
|
人工智能 搜索推荐 算法
婚恋交友系统UI/UX设计优化 婚恋交友系统用户界面友好性提升 婚恋交友系统用户行为分析与优化 婚恋交友系统用户反馈收集与处理
针对婚恋交友系统的UI/UX设计优化,本文提出多项策略:简化用户界面、提升交互体验、个性化推荐算法;增强用户界面友好性,包括适应性、无障碍及情感化设计;通过数据收集与分析优化用户行为路径;建立多渠道反馈机制,分类处理并及时告知结果。这些措施旨在提高用户体验和满意度,促进平台健康发展。[点击查看完整演示和免费源码](https://gitee.com/duoke-official-open-source/hunlianjiaoyou)
61 4
|
1月前
|
前端开发 数据安全/隐私保护
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程 前端uniapp+H5 后端FastAdmin框架 可打包成APP多端运行 亲测可用
56 13
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
39 6
|
1月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
63 5
|
3月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
210 1
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
141 62
|
30天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
115 13