Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

时间:2023-02-22 16:45:12

项目打包部署

安装MySQL镜像

注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的。

下载镜像

执行以下命令,拉取MySQL镜像。

docker pull mysql:latest

镜像下载完成之后,通过以下命令查看下载的镜像。

docker images |grep mysql

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

启动容器

执行以下命令,启动一个容器。

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

进入容器

执行以下命令,进入启动容器。

docker exec -it  5430daed2289  /bin/bash

登录测试

进入容器之后,执行MySQL登录命令,并根据提示输入密码。

mysql -uroot -p

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

查看数据库

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

外部访问测试

上面在服务器本地测试已经安装成功了,现在从外部环境连接测试一下。

使用MySQL客户端工具连接服务端MySQL,连接成功就说明没问题了。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

新建数据库

创建 kitty 数据库,使用 utf-8 编码。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

导入我们的数据库初始化SQL文件。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

导入结果

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

安装Tomcat镜像

下载镜像

执行以下命令,拉取Tomcat镜像。

docker pull tomcat:latest

镜像下载完成之后,通过以下命令查看下载的镜像。

docker images |grep tomcat

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

启动容器

先再 /usr 目录下新建一个 /tomcat/webapps 目录用于挂载项目目录。并把Tomcat原有的webapps下的项目文件拷贝到其中。

这样 tomcat 使用的 webapps 目录就是主机 /usr/tomcat/webapps 目录了,不会因为容器的删除而丢失,多个tomcat可共享。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

执行以下命令,启动一个容器。

docker run --name tomcat -p 8080:8080 -v /usr/soft/tomcat/webapps:/usr/local/tomcat/webapps -d tomcat:latest
说明:
-v /usr/soft/tomcat/webapps:/usr/local/tomcat/webapps 表示把主机目录挂载到容器目录(主机目录:容器目录),这样多个容器之间就可以共享主机webapps目录了。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

访问测试

外部访问 服务器IP:端口号,访问Tomcat,如果看到如下页面就启动成功了。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

服务端项目打包

Spring Boot 默认是打包成jar,我们这里把项目打包成war包,统一部署到tomcat服务器。

下面以kitty-backup为例,把项目打包成war包。其他独立部署项目亦同。

1.添加打包依赖

在pom.xml文件中添加下面的依赖。

    <!--TOMCAT配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

2.修改打包方式

将pom.xml文件首部的jar改成war。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

3.修改启动类

修改启动类,让启动类继承 SpringBootServletInitializer,并覆写 configure 方法。

package com.louis.kitty.backup;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication(scanBasePackages={"com.louis.kitty"})
public class KittyBackupApplication extends SpringBootServletInitializer { @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(KittyBackupApplication.class);
} public static void main(String[] args) {
SpringApplication.run(KittyBackupApplication.class, args);
}
}

前端项目打包

执行以下命令打包,打包之后把dist目录的内容复制到服务器即可。

npm run build

打包之后,生成 dist 目录。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

打包成功之后,显示的时候可能会出现不能正常显示 font awesome 的问题。

那是因为打包样式路径的问题,需要修改一下样式相关打包配置。

build/utils.js

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

项目部署

打包完成之后,把前端内容放置在kitty目录,上传到tomcat目录。

注意修改一下相关配置:

kitty-boot: application.yml     // 数据库配置

kitty-bakcup: application.yml     // 数据库配置

kitty: utils/global.js   // 后台接口和备份接口地址

测试效果

访问 http://139.196.87.48:9002/kitty ,转到登录页面。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

登录主页

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

用户管理

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

菜单管理

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署

源码下载

后端:https://gitee.com/liuge1988/kitty

前端:https://gitee.com/liuge1988/kitty-ui.git


作者:朝雨忆轻尘
出处:https://www.cnblogs.com/xifengxiaoma/
版权所有,欢迎转载,转载请注明原文作者及出处。

Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署的更多相关文章

  1. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架

    引入依赖 Spring Boot对于MyBatis的支持需要引入mybatis-spring-boot-starter的pom文件. <dependency> <groupId&gt ...

  2. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(二十五):Spring Security 版本

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro ...

  3. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(一):Kitty 系统介绍

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 温馨提示: 有在演示环境删除数据的童鞋们,如果可以的话,麻烦动动小指,右键头像 ...

  4. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每 ...

  5. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(二十):服务熔断(Hystrix、Turbine)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基 ...

  6. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)

    技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用.单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行 ...

  7. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)

    什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与 ...

  8. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(十六):容器部署项目

    容器部署项目 这一章我们引入docker,采用docker容器的方式部署我们的项目. 首先需要有一个linux环境,并且安装 java 和 maven 以及 docker 环境,这个教程多如牛毛,不再 ...

  9. Spring Boot &plus; Spring Cloud 实现权限管理系统 后端篇(十五):系统服务监控

    系统服务监控 新建监控工程 新建Spring Boot项目,取名 kitty-monitor,结构如下. 添加项目依赖 添加 spring boot admin 的相关依赖. pom.xml < ...

随机推荐

  1. gradlew wrapper使用下载到本地的gradle&period;zip文件装配--转

    原文地址:http://www.myexception.cn/mobile/1860089.html gradlew wrapper使用下载到本地的gradle.zip文件安装.使用gradlew来b ...

  2. 在thinkphp中js文件添加路径

    JS文件不认识__URL__这些tp独特的链接,所以要自己重新定义url,才能使用这些路径. 在js对于的模板上定义url 然后在js文件中引用

  3. &period;htaccess

    一.在Apache配置中启用Rewrite 打开配置文件httpd.conf: 1.启用rewrite# LoadModule rewrite_module modules/mod_rewrite.s ...

  4. Lintcode&colon; Interval Minimum Number

    Given an integer array (index from 0 to n-1, where n is the size of this array), and an query list. ...

  5. expdp 备份数据库-附带报错信息

    操作系统层面创建目录 [root@Oracle11g ~]# mkdir -p /home/oracle/db_back/ 修改目录的所属用户.所属组 [root@Oracle11g ~]# chow ...

  6. temp gbk2utf8

    __author__ = 'root' # -*- coding: utf-8 -*- ps = '/data/poitestdata/行政地名.csv' pt = '/data/poitestdat ...

  7. 【Xamarin挖墙脚系列:Xamarin&period;IOS的多个Storybord分隔视图的导航】

    在实际开发中,我是推荐使用画板Storybord的.也可以适当的添加xib进行界面的绘制.尽量不要用或者少用代码绘制视图.(少一些装B分子,可以极大的缩短项目的周期). 不要讲性能,不是不讲性能,ap ...

  8. &lbrack;2019&sol;03&sol;17&num;杭师大ACM&rsqb;赛后总结(被吊锤记)

    前言 和扬子曰大佬和慕容宝宝大佬一组,我压力巨大,而且掌机,累死我了,敲了一个下午的代码,他们两个人因为比我巨就欺负我QwQ. 依旧被二中学军爆锤,我真的好菜,慕容宝宝或者是扬子曰大佬来掌机一定成绩比 ...

  9. FTP 命令的使用

    最近需要使用 ftp 工具,所以借此机会来进行整理以下具体的内容: 具体什么是ftp, ftp 能干什么? 请参考: https://access.redhat.com/documentation/e ...

  10. selenium python 启动Firefox

    我的火狐浏览器版本是最新的: 下载geckodrive:https://github.com/mozilla/geckodriver/releases/ 下载完后将exe文件放到这里“D:\firef ...