基于【 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工程时,架构师和开发工程师可能更关心项目技术结构上的设计.而几乎所有结构良好的软件(项目)都使用了分层设计.分层设计是将项目按技术职能分为几个内聚的部分 ...
随机推荐
- C11中的Unicode
在C11(ISO/IEC 9899:2011)标准中引入了对UTF8.UTF16以及UTF32字符编码的支持. 其中,UTF8字符直接通过char来定义,字面量前缀使用u8.比如: char c = ...
- Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能
Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能 Windows Server 2012 安装 SQL server 2008 出现了如下错误: 解 ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_03-自定义查询页面-前端
下拉选择框 <!--查询表单--> <el-form :model="params"> <el-select v-model="params ...
- python3 @classmethod 和 @staticmethod 的区别
如果您将某个东西定义为classmethod,这可能是因为您打算从类而不是类实例中调用它. 定义类方法的几种方式: 常规方式 : 需要self隐士传递当前类 ...
- 基于LSTM + keras 的诗歌生成器
最近在github 上发现了一个好玩的项目,一个基于LSTM + keras 实现的诗歌生成器,地址是:https://github.com/youyuge34/Poems_generator ...
- 【Python】机器学习之单变量线性回归 利用正规方程找到合适的参数值
[Python]机器学习之单变量线性回归 利用正规方程找到合适的参数值 本次作业来自吴恩达机器学习. 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方),数据中包括不同 ...
- 【ARM-Linux开发】内核3.x版本之后设备树机制
内核3.x版本之后设备树机制 Based on Linux 3.10.24 source code 参考/documentation/devicetree/Booting-without- ...
- js函数(3)
8.5 作为命名空间的函数 即定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间. 将一段代码封装在函数内部,然后调用这个函数.这样全局变量就变成了函数内部的局部变量: ...
- PTA(Advanced Level)1037.Magic Coupon
The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, m ...
- 提示ORA-28000 the account is locked
1.启动项目的时候提示ORA-28000 the account is locked. 2. 这是因为用户被锁定了. 查询FAILED_LOGIN_ATTEMPTS参数默认值,这个参数限制了从第一次登 ...