基于【 springBoot +springCloud+vue 项目】三 || 项目部署
前言
今天所要讲的项目部署,并非正式环境部署,而是作为开发中的测试环境部署。随着项目模块的增多,启动的模块也随之增多,本人的电脑启动四个模块就已经卡的不行了,为了减轻电脑压力,不得不自己学着搭建一个项目部署环境。
正文
本次搭建环境:VM虚拟机+centos7+docker
本次主要还是学习环境搭建,其中配置了两台虚拟的centos7系统。
第一台虚拟系统:安装docker容器,在容器中安装了redis,activeMq,mysql
第二台虚拟系统:安装jdk1.8环境
两台虚拟系统都配置了静态的固定ip地址,第一台地址192.168.22.2,第二台地址192.168.22.5(地址可以自己随意定)
一、docker安装和使用
这里就给出一个网址:https://www.runoob.com/docker/docker-container-usage.html
之前自己在虚拟机中配置过redis,mysql等,过程非常的繁琐,使用docker大大提升了速度,而且操作非常的简单,这里就不在详细说了,上面的教程很详细,我也是跟着教程安装的,后面的项目中如果遇到坑了在慢慢的填在此部分。
mysql启动命令:
docker run --name mysql01 -p 4306:4306 -e MYSQL_ROOT_PASSWORD=root -d mysql
redis启动命令:
docker run -d --name myredis -p 6379:6379 redis --requirepass "root"
二、centos7安装
1、安装镜像包
我们使用的是vm虚拟机,已经提供好了镜像包(有需要的联系我)
第一步:非常简单,打开虚拟机,添加提供的镜像文件,确定就OK了

第二步:启动后输入账号和密码就开启了centos7了。
下面要重点说的是怎么配置固定的静态ip地址
2、配置静态ip地址
第一步:虚拟机中,选择设置

第二步:根据下图设置网络适配器为NAT模式

第三步:选择名称为VMnet8 NAT模式,修改子网IP设置,实现自由设置固定IP,IP范围为192.168.2.2-255

第四步:NAT设置

此处设置与上一步在一个相同网段,记住该网关ip,后面会用到
第五步:配置自己主机具体VMnet8本地地址参数,找到CMnet8,然后右键-》属性-》找到ipv4

第六步:重点说明 图2中的IP地址随意设置,但是要保证不能跟你要设置虚拟机的固定IP一样。

第七步:修改centos7网卡配置参数
1、进入centos7命令界面
2、cd /etc/sysconfig/network-scripts/
3、vi ifcfg-enp0s3
配置参数如下:

参数修改完 :wq 保存并退出
第八步:测试看看是否配置成功了
1、查看修改后的固定IP为192.168.22.2,配置是否正确?
ping 192.168.22.2
2、测试虚拟机中的CentOS 7系统是否能连外网,有数据返回,说明可以连接外网
ping baidu.com
3、测试本机是否能ping通虚拟机的固定IP,有数据返回,说明可以使用终端工具正常连接
使用本机 ,cmd命令调出窗口 :ping 192.168.22.2
三、使用springBoot导出jar包
springBoot自带tomcat了,只用打成jar包,使用java -jar XX.jar命令就可以运行项目了,也可以打成war包部署到其他服务器,此处就简单说一下打成jar的部署方式
1、设置pom文件,不用添加maven打包插件,否则报错
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>pinyougou-parent</artifactId>
<groupId>com.pinyougou</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>pinyougou-manager-web</artifactId>
<dependencies>
<dependency>
<groupId>com.pinyougou</groupId>
<artifactId>pinyougou-sellergoods-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </project>
2、启动类模块中的pom配置,添加如下配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.pinyougou.SellerGoodsServiceApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
3、使用idea中的maven编译打包

4、最后在我们项目汇总的target中就有了jar包

四、运行jar包
1、分别把sellergoods服务模块jar包,Eureka注册中心jar包复制到192.168.22.5的centos7的/usr/home/pinyougou文件中
使用java -jar XX.jar命令运行jar包
2、测试
输入http://192.168.22.5:8761/ 看是否启动了注册中心

4、调用商品服务模块,测试是否返回数据

如果有数据返回,说明我们环境搭建成功了。
本人联系方式QQ:1136069753,后期项目会发布共享,项目持续更新
基于【 springBoot +springCloud+vue 项目】三 || 项目部署的更多相关文章
- SpringBoot+SpringCloud+vue+Element开发项目——搭建开发环境
1.新建一个项目
- SpringBoot+SpringCloud+vue+Element开发项目——数据库设计
1.用户表(sys_user) CREATE TABLE `sys_user` ( `id` ) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` ) NOT ...
- SpringBoot+SpringCloud+vue+Element开发项目——集成Druid数据源
添加依赖 pom.xml <!--druid--> <dependency> <groupId>com.alibaba</groupId> <ar ...
- SpringBoot+SpringCloud+vue+Element开发项目——集成MyBatis框架
添加mybatis-spring-boot-starter依赖 pox.xml <!--mybatis--> <dependency> <groupId>org.m ...
- SpringBoot+SpringCloud+vue+Element开发项目——集成Swagger文档
在pom.xml文件中添加Maven依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId ...
- 基于【 springBoot +springCloud+vue 项目】一 || 项目架构简介
一.前言 基于前期学习以及工作经验积累,持续更新基于springboot+springcloud+vue的demo项目.
- 基于【 springBoot +springCloud+vue 项目】一 || 后端搭建
缘起 本项目是基于之前学习的一个Dubbo+SSM分布式项目进行升级,基于此项目对前后端分离项目.微服务项目进一步深入学习.之前学习了vue.springBoot.springCloud后,没有进行更 ...
- 基于【 springBoot +springCloud+vue 项目】二 || 后端框架详解
前言 在上一篇中,我们搭建了一个-API服务提供接口模块,目的为了提供了消费方进行调用.为什么不直接在service层直接提供调用接口,而是重新创建一个接口层模块?首先我们需要对Feign有所了解. ...
- 基于SpringBoot + Mybatis实现SpringMVC Web项目
一.热身 一个现实的场景是:当我们开发一个Web工程时,架构师和开发工程师可能更关心项目技术结构上的设计.而几乎所有结构良好的软件(项目)都使用了分层设计.分层设计是将项目按技术职能分为几个内聚的部分 ...
随机推荐
- Hide()方法不生效
有时候Jquery中的.hide()不起作用,有时是因为在函数中包括着, $(".select-dropdown").hide(); 在hide中加一个1就行了 文章来源: ...
- Java同步数据结构之PriorityBlockingQueue
前言 接下来继续BlockingQueue的另一个实现,优先级阻塞队列PriorityBlockingQueue.PriorityBlockingQueue是一个无限容量的阻塞队列,由于容量是无限的所 ...
- SQL-W3School-高级:SQL CHECK 约束
ylbtech-SQL-W3School-高级:SQL CHECK 约束 1.返回顶部 1. SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那 ...
- .IllegalArgumentException: Mapped Statements collection does not contain 异常一例【我】
更新代码后发现几乎所有的sql查询都报错,类似下面: java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: ne ...
- python用户评论标签匹配的解决方法
python用户评论标签匹配的解决方法 这篇文章主要为大家详细介绍了python用户评论标签匹配的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 我们观察用户评论发现:属性词往往和情感词伴 ...
- python 内置数据结构 切片
切片 通过索引区间访问线性结构的一段数据 sequence[start:stop] 表示返回[start,stop]区间的子序列 支持负索引 start为0,可以省略 stop为末尾,可以省略 超过上 ...
- 【leetcode_easy】543. Diameter of Binary Tree
problem 543. Diameter of Binary Tree 题意: 转换一种角度来看,是不是其实就是根结点1的左右两个子树的深度之和呢.那么我们只要对每一个结点求出其左右子树深度之和,这 ...
- 【c++基础】C++编写Config类读取配置文件
前言 系统程序一般需要读取参数文件,看到一个很好的Config类记录在此. 头文件Config.h //Config.h //re: https://blog.csdn.net/David_xtd/a ...
- PowerShell ISE/文件名解析缺陷远程执行代码漏洞#RCE
基础信息 ID 1337DAY-ID- 32642 类型 zdt Reporter hyp3rlinx 修改后的 2019-05-03 00:00:00 描述 在调试包含数组括号作为文件名一部分的特制 ...
- List的add方法与addAll方法的区别、StringBuffer的delete方法与deleteCharAt的区别
List的add方法与addAll方法 区别 add add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素 addAll addAll是传 ...