栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot/springcloud父子工程项目 打包 部署 到linux cenos7全流程 及 注意事项

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot/springcloud父子工程项目 打包 部署 到linux cenos7全流程 及 注意事项

一、打包

例如如图所示的父子工程
common模块是放置一些全局可用的工具类或者配置类
service模块是具可运行的springboot模块

1.父工程pom.xml配置:
做依赖管理,依赖版本管理

 
    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.1.RELEASE
         
    

    
    
        common
        service
    


    
    4.0.0
    com.platform
    platform_parent
    
    pom
    0.0.1-SNAPSHOT
    platform_parent
    
    
    
    
    
    
     
	
        
		
    

2.非运行模块配置:
①非运行模块的 父 pom.xml

引入所有非运行模块需要的依赖(依赖不可以隔代传递,只能父传子,不能爷传孙)

	
	
        platform_parent
        com.platform
        0.0.1-SNAPSHOT
    
    
    4.0.0
    common
    0.0.1-SNAPSHOT
    common
    
    pom



    
    
        common_utils
        service_base
        spring_security
    

    
    

②非运行模块中的具体模块


  
        common
        com.platform
        0.0.1-SNAPSHOT
    

    
    jar

    0.0.1-SNAPSHOT
    4.0.0
    common_utils

    
    

3.非运行模块的具体模块pom.xml

	
        common
        com.platform
        0.0.1-SNAPSHOT
    

	!!!重点,非运行模块需要被运行模块引入,所以把它打包为jar包
    
    jar

    0.0.1-SNAPSHOT
    4.0.0
    common_utils

    
    

4.运行模块的父模块pom.xml


        platform_parent
        com.platform
        0.0.1-SNAPSHOT
    

    4.0.0
    service
    0.0.1-SNAPSHOT
    
    pom


    
    
        acl
    


    
        !!!这里要引入好子模块需要的依赖,不需要写版本号,因
        为继承了parent的依赖,只是因为依赖不能爷传孙,需要这
        里引入,才能借助爷传父,父传孙!!!
    

    
    
        
            
                src/main/java
                
                    ***.properties
                    ***.yml
                    ***.xml
                
                false
            
        
    

5.可运行的子模块

	
        service
        com.platform
        0.0.1-SNAPSHOT
    

    4.0.0
    acl
    0.0.1-SNAPSHOT
    
    jar

    
       
    

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

6.点击idea右侧maven,找到root工程,先点击clean,清空已打包过的文件,然后再点package,进行再打包

最后BUILD SUCCESS,表示打包成功,若有报错,自己查看报错信息,然后去搜索解决

二、部署

1.去项目文件夹下,“可运行模块”的目录下在target文件夹中找到打包好的jar包,是“可运行模块”下,才是你真正要部署的服务

2.如果是阿里云的服务器,联系系统管理员,在阿里云控制台开放项目的端口,否则如何都不能访问此端口!
先查看自己要部署的端口号是否被占用,输入

lsof -i:端口号

如果出现下图,说明被占用,则只能去该项目端口号,再重新打包编译部署

然后,
①输入命令开启防火墙

systemctl start firewalld

②开放指定端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
③重启防火墙

firewall-cmd --reload

如果嫌每个服务都要操作防火墙麻烦,可以关闭防火墙,但是系统会不安全
关闭防火墙:

 systemctl stop firewalld.service

④测试远程端口是否开放:
在本地window的cmd中输入

telnet ip 端口号 (如如telnet 172.17.193.18 8080)

然后回车,如果窗口跳转,说明此端口已开放。


    用 xftp 和 xShell 连接到linux远程系统,将jar包复制到项目文件夹下,打开终端,在jar包目录下后台启动jar包,输入指令,然后按crtl +c,项目就会在后台启动

    nohup java -jar acl-0.0.1-SNAPSHOT.jar >logs.txt &
    

    logs.txt表示控制台输出文件
    如果上面那个失败,可以用简单的,但是没有控制台的输出文件

    (1)执行java -jar xxx.jar,终端会输出一些东西

    (2)ctrl+z 退出到控制台,输入指令 bg,便可后台运行

    (3)exit,断开linux连接(非必要)
    完成以上3步,退出SHELL后,jar服务一直在后台运行。
    在浏览器或swagger随意访问一个可访问的接口url,如果成功,则部署成功

    4.如果项目更新、关闭运行等,使用下面命令查看运行的项目的进程id(pid)

    lsof -i:端口号
    


    然后输入以下,杀死该进程,注意是pid,不要输错输成端口号!

    kill -9 21238
    

    然后重复步骤3,就能重新部署

    最后,如果中间环节出错,请自寻搜索解决,大致打包部署流程如上

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/754403.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号