微服务打包和部署

**

微服务打包和部署

**

  1. 一、为什么要部署微服务
    为什么部署微服务
    我们的项目是在win系统上写的,因为win系统会随着运行时间而变得越来越卡,所以我们需要将项目部署到liunx系统上,因为liunx系统不像win系统,liunx不会因为运行时间而变得越来越卡,而且liunx系统的安全性也比win系统高。
    为什么部署微服务:
    微服务是将一个大的项目分为几个小的模块,这样做的目的是为了我们后期的维护和扩展功能,如何我们部署一个整个的项目的话,那么后期添加功能必须要先将项目下线,这样给用户的体验感会变得非常的差,不仅如此如果出现一些问题的话我们也很难找到根本错误,但是如果分为多个模块的话我们就可以不仅可以快速的找到错误的根本,如果后期需要添加新功能的话我们只需要将添加功能的模块下线就可以了,这样其他的功能模块也可以正常运行。
    二、maven打包方式有两种,jar包和war包
    1、jar包优缺点
    优点:
    如果出现一些报错情况可以快速解决,而且jar自带tomcat启动器这样就可以让我们
    省去很多步骤。
    缺点:
    启动的时间太长了,而且启动完以后会占用Xshell的当前窗口,也就是说如果我们
    部署微服务这种需要开启多个tomcat服务器的项目需要开启多个窗口。
    2、war包优缺点
    优点:
    启动比较快,而且不会占用当前窗口,这样我们就不用去创建那么多的Xshell的窗
    口了。
    缺点:
    如果项目出现问题很难找到问题所在,比如404让我痛疼了两天才解决,而且操作
    比较复杂,需要去导入很多tomcat避免端口号冲突,掌控性太不高
    三、jar包打包方式
    首先我们要保证我们的mysql要开启远程访问,否者会被拒绝链接
    win加R
    微服务打包和部署_第1张图片
mysql -u roo -p

微服务打包和部署_第2张图片
成功登入
微服务打包和部署_第3张图片
然后输入要被开启远程访问的数据库
这里我的库是pan

use pan

这是查看库里的

show tables

微服务打包和部署_第4张图片
在这里插入图片描述

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

这样算是编辑完了,但是我们需要将将它执行以下

flush privileges;

在这里插入图片描述
这是查看是否成功

select host,user from user;

微服务打包和部署_第5张图片
接下来我们来打包:
父工程的pom依赖,因为父工程会被子模块继承所以打包的类型不是jar,也不是war而是pom
1、第一步pom依赖
微服务打包和部署_第6张图片



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    com.zhiyou100
    server-parent
    
    pom
    0.0.1-SNAPSHOT
    server-parent
    父类

    
    
        UTF-8
        UTF-8
        1.8
        
        Greenwich.RELEASE
    

    
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-autoconfigure
        
    

    
        
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2、我们需要将父工程放到maven本地仓库,因为子模块打包的时候会调用父工程的依赖。
微服务打包和部署_第7张图片
微服务打包和部署_第8张图片
微服务打包和部署_第9张图片
微服务打包和部署_第10张图片
微服务打包和部署_第11张图片
微服务打包和部署_第12张图片
微服务打包和部署_第13张图片
这样我们就将父工程打包成pom包了
3、然后我们来打包注册中心
第一步pom依赖:
微服务打包和部署_第14张图片



    4.0.0
    
        com.zhiyou100
        server-parent
        0.0.1-SNAPSHOT
    
    com.zhiyou100
    weather-eureka
    0.0.1-SNAPSHOT
    jar
    weather-eureka
    服务注册中心
    
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.zhiyou100
            server-parent
            0.0.1-SNAPSHOT
        
    

第二步修改一下配置文件:

#这里是防止端口号冲突所以改为8000
server.port=8000
#这里是服务中心的名字
spring.application.name=weather-eureka
eureka.instance.hostname=localhost
#这里是不将本服务注册到服务中心
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#这里是服务注册中心的核心配置
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

第三步双击即可:
微服务打包和部署_第15张图片
4、接下来我们来打包存有数据的子工程
第一步引入pom依赖:



    4.0.0
    
        com.zhiyou100
        server-parent
        0.0.1-SNAPSHOT
    
    com.zhiyou100
    city-data
    0.0.1-SNAPSHOT
    jar
    city-data
    城市数据获取
    
        
            com.zhiyou100
            server-parent
            0.0.1-SNAPSHOT
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.1.1
        
        
        
            mysql
            mysql-connector-java
            5.1.46
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-web
            RELEASE
            compile
        
    


微服务打包和部署_第16张图片
第二步:
这里我们需要修改一下配置文件
微服务打包和部署_第17张图片

#这里是开启Redis虚拟机的ip地址
spring.redis.host=192.168.175.133
#这里是Redis端口号6381
spring.redis.port=6381
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#这里是数据库的账号,一般都是root
spring.datasource.username=root
#这里是数据库密码
spring.datasource.password=123456
#这里是数据库链接池,我的本机号是128.0.0.170,数据库名是pan
spring.datasource.url=jdbc:mysql://128.0.0.170/pan
#这里是扫描mapper下的xml文件
mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml
#为了防止端口号冲突,这里我们修改一下端口号
server.port=8321
#提交时的名字
spring.application.name=city-data
#提交到服务注册中心,我的虚拟机的ip地址是192.168.175.128,注册中心的端口号是8000,
#注册中心的名字是eureka
eureka.client.service-url.defaultZone=http://192.168.175.128:8000/eureka/

第三步:
双击即可
微服务打包和部署_第18张图片

然后是在liuinx系统上运行jar包

java -jar 这里是打包的包名 

如果想让你的jar项目在后台运行在包名后面加上

>temp.txt &

你可能感兴趣的:(Java)