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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 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
目录
相关文章
|
1月前
|
Cloud Native Java C++
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
文章介绍如何在Spring Boot 3中利用GraalVM将Java应用程序编译成独立的本机二进制文件,从而提高启动速度、减少内存占用,并实现不依赖JVM运行。
193 1
Springboot3新特性:开发第一个 GraalVM 本机应用程序(完整教程)
|
1月前
|
前端开发 Java 数据安全/隐私保护
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
文章通过一个简单的SpringBoot项目,详细介绍了前后端如何实现用户登录功能,包括前端登录页面的创建、后端登录逻辑的处理、使用session验证用户身份以及获取已登录用户信息的方法。
176 2
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
|
2月前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
232 1
|
11天前
|
Dubbo Java 应用服务中间件
深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案
本文深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案。通过检查GraalVM版本兼容性、配置反射列表、使用代理类、检查配置文件、禁用不支持的功能、查看日志文件、使用GraalVM诊断工具和调整GraalVM配置等步骤,帮助开发者快速定位并解决问题,确保服务的正常运行。
27 1
|
1月前
|
Java API Apache
Springboot+shiro,完整教程,带你学会shiro
这篇文章提供了一个完整的Apache Shiro与Spring Boot结合使用的教程,包括Shiro的配置、使用以及在非Web和Web环境中进行身份验证和授权的示例。
65 2
Springboot+shiro,完整教程,带你学会shiro
|
1月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
295 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
1月前
|
缓存 NoSQL Java
springboot的缓存和redis缓存,入门级别教程
本文介绍了Spring Boot中的缓存机制,包括使用默认的JVM缓存和集成Redis缓存,以及如何配置和使用缓存来提高应用程序性能。
96 1
springboot的缓存和redis缓存,入门级别教程
|
1月前
|
Java Docker 微服务
SpringBoot微服务打包Docker镜像
SpringBoot微服务打包Docker镜像
|
2月前
|
JavaScript
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
这篇文章介绍了如何使用Ant Design Vue UI框架创建一个简单的后台管理模板,包括创建Vue项目、安装和使用ant-design-vue、以及编写后台管理通用页面的代码和样式。
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
|
2月前
|
JavaScript 前端开发 开发工具
使用vue3+element-ui plus 快速构建后台管理模板
本文介绍了如何使用Vue 3和Element UI Plus快速构建后台管理模板的步骤,包括安装Vue 3脚手架、Element UI Plus以及如何全局配置Element UI Plus。然后详细讲解了如何使用Element UI Plus构建布局,包括Header组件、Aside组件和HomeView视图的创建和样式调整,以及App.vue和main.css的修改,最后提供了项目的文件结构图和效果展示。
使用vue3+element-ui plus 快速构建后台管理模板