Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署
项目打包部署
安装MySQL镜像
注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的。
下载镜像
执行以下命令,拉取MySQL镜像。
docker pull mysql:latest
镜像下载完成之后,通过以下命令查看下载的镜像。
docker images |grep mysql

启动容器
执行以下命令,启动一个容器。
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

进入容器
执行以下命令,进入启动容器。
docker exec -it 5430daed2289 /bin/bash
登录测试
进入容器之后,执行MySQL登录命令,并根据提示输入密码。
mysql -uroot -p

查看数据库

外部访问测试
上面在服务器本地测试已经安装成功了,现在从外部环境连接测试一下。
使用MySQL客户端工具连接服务端MySQL,连接成功就说明没问题了。

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

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

导入结果

安装Tomcat镜像
下载镜像
执行以下命令,拉取Tomcat镜像。
docker pull tomcat:latest
镜像下载完成之后,通过以下命令查看下载的镜像。
docker images |grep tomcat

启动容器
先再 /usr 目录下新建一个 /tomcat/webapps 目录用于挂载项目目录。并把Tomcat原有的webapps下的项目文件拷贝到其中。
这样 tomcat 使用的 webapps 目录就是主机 /usr/tomcat/webapps 目录了,不会因为容器的删除而丢失,多个tomcat可共享。

执行以下命令,启动一个容器。
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目录了。

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

服务端项目打包
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。

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 目录。

打包成功之后,显示的时候可能会出现不能正常显示 font awesome 的问题。
那是因为打包样式路径的问题,需要修改一下样式相关打包配置。
build/utils.js

项目部署
打包完成之后,把前端内容放置在kitty目录,上传到tomcat目录。
注意修改一下相关配置:
kitty-boot: application.yml // 数据库配置
kitty-bakcup: application.yml // 数据库配置
kitty: utils/global.js // 后台接口和备份接口地址
测试效果
访问 http://139.196.87.48:9002/kitty ,转到登录页面。

登录主页

用户管理

菜单管理

源码下载
后端:https://gitee.com/liuge1988/kitty
前端:https://gitee.com/liuge1988/kitty-ui.git
作者:朝雨忆轻尘
出处:https://www.cnblogs.com/xifengxiaoma/
版权所有,欢迎转载,转载请注明原文作者及出处。
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署的更多相关文章
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架
引入依赖 Spring Boot对于MyBatis的支持需要引入mybatis-spring-boot-starter的pom文件. <dependency> <groupId> ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十五):Spring Security 版本
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(一):Kitty 系统介绍
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 温馨提示: 有在演示环境删除数据的童鞋们,如果可以的话,麻烦动动小指,右键头像 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十):服务熔断(Hystrix、Turbine)
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)
技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用.单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)
什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十六):容器部署项目
容器部署项目 这一章我们引入docker,采用docker容器的方式部署我们的项目. 首先需要有一个linux环境,并且安装 java 和 maven 以及 docker 环境,这个教程多如牛毛,不再 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十五):系统服务监控
系统服务监控 新建监控工程 新建Spring Boot项目,取名 kitty-monitor,结构如下. 添加项目依赖 添加 spring boot admin 的相关依赖. pom.xml < ...
随机推荐
- PyCharm 安装package matplotlib为例
File --> settings --> Project Interpreter --> 搜索 matplotlib 如果觉得官网下载的速度慢,可以添加阿里云的 repositor ...
- AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串
1.AJAX html 传输json字符串: js方法如下: function saveRetYwlsh(){ var xmbh = document.getElementById("xmb ...
- uni-app开发一次,覆盖多端的前端框架
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台. 一套代码,运行多个平台 uni-app实现了一套代码, ...
- bootstrap添加遮罩层loadingmask
转自:https://blog.csdn.net/baidu_30809315/article/details/83900255 gif动态图下载地址:http://blog.sina.com.cn/ ...
- SAS数据集
SAS数据集是存储在SAS逻辑库中.由SAS创建和处理的SAS文件,是SAS存储数据的主要方式.SAS数据集包含以表的观测(行)和 变量(列)为形式存在的数据值,以及用以描述变量类型.长度和创建该数据 ...
- jQuery的事件,动画效果等
一.事件 click(function(){}) 点击事件 hover(function(){}) 悬浮事件,这是jQuery封装的,js没有不能绑定事件 focus(function(){}) ...
- ssh 配置免密失败
多数情况下,可以登录成功.但是也会出现配置不正确,导致失败的时候. 1.检查authorized_keys文件权限,并设置为700 chmod 700 authorized_keys 2.检查/etc ...
- VS中编译出现——计算机中丢失XINPUT1_4.dll解决办法
如果用DX SDK 2010的版本,编译时可能就会出现这种问题. 解决办法,在链接库时把XInput.lib换成XINPUT9_1_0.LIB,重新编译就可以了. 用老操作系统 + 老DX SDK + ...
- CUDA[4] sample program: matrix-vector multiplication
Use Compressed Sparse Row Format (CSR) to represent matrix #include "cuda_runtime.h" #incl ...
- (转载)linux 常用命令
出处:http://www.cnblogs.com/vamei $ 命令行提示符 粗体表示命令 斜体表示参数 filename, file1, file2 都是文件名.有时文件名有后缀,比如file. ...