Spring Cloud部署篇1——Jar包部署至CentOS云服务器

news2024/12/24 19:58:37

一、项目介绍

系统模块

com.mingink
|--mingink-api            // 接口模块
|           └──mingink-api-system               // 系统接口
|--mingink-common         // 通用模块
|           └──mingink-common-core              // 系统接口
|--mingink-gateway        // 网关模块【8081】
|--mingink-modules        // 业务模块
|           └──mingink-system                   // 系统服务模块【8082】
|--pom.xml                                      // 公共依赖

技术选型

开发框架:SpringBoot、SpringCloud、OpenFeign
缓存:Redis分布式缓存 + 本地缓存
数据库:MySQL、MongoDB
网关:Gateway + Sentinel

目的

本次部署的是基于Spring Cloud的微服务项目,需要将现有的gateway网关模块和mingink-system系统服务模块分别打成Jar,并上传到CentOS云服务器进行部署。

二、打包配置工作

父模块pom.xml打包配置如下:

    <build>
        <finalName>MingInk</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
            </plugin>
        </plugins>
    </build>

gateway和system子模块pom.xml的打包配置如下:

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

这里采用了jdk17,maven-compiler-plugin.version为3.1,project.build.sourceEncoding为UTF-8,spring-boot.version为2.7.13。
注意:maven版本采用的是3.9.6版本,需要jdk版本对应上。可以在IDEA命令行使用mvn -v命令查看当前mvn版本是否对应上:
在这里插入图片描述

三、打成JAR包

在IDEA控制台输入命令:mvn clean package进行打包(记得是在项目根目录)

在这里插入图片描述
打包成功结果如下:
在这里插入图片描述
然后就能够在各模块下找到对应的Jar包:
在这里插入图片描述

四、部署工作

服务器环境

数据库、Redis缓存那些自行安装,这里不再赘述。要求服务器安装了对应的jdk(我这里安装的是jdk17,要与你打包时的jdk版本保持一致),如何在Centos安装jdk参考https://blog.csdn.net/qq_43310219/article/details/120328075。

Jar包上传

我这里使用的是MobaXterm直接上传的文件,在运行目录以/usr/xx/mingink目录为为例,给每个模块单独各创建文件夹:
在这里插入图片描述
然后将Jar包上传至模块目录下:
在这里插入图片描述
在这里插入图片描述
在各模块目录下(如/usr/xx/mingink/gateway),运行Jar包,命令如下:

nohup java -jar mingink-gateway.jar >nohup.out 2>&1 &

nohup java -jar xxx.jar >nohup.out 2>&1 &命令是指不挂断地以后台运行程序,即使退出用户终端或断开ssh也会不中断程序

打开nacos控制台可以看到,服务已经在正常运行:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1465811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

未来已来:数字孪生与智慧园区的深度融合

目录 一、数字孪生技术的概述 二、智慧园区的概念和发展 三、数字孪生与智慧园区的深度融合 四、数字孪生与智慧园区的未来展望 五、结论 随着科技的飞速发展&#xff0c;我们正处在一个日新月异的时代。数字孪生技术作为新兴的前沿科技&#xff0c;已经引起了全球范围内的…

喜报 | 2023上海文创资金拟支持名单公布,优积科技上榜

2023年8月9日&#xff0c;上海市文化创意产业推进领导小组办公室公布了《2023年上海市促进文化创意产业发展财政扶持资金拟支持项目&#xff08;第一批&#xff09;公示》&#xff0c;优积科技本次以“人工智能技术赋能模块化建筑设计的创新应用”项目荣获该资金财政扶持。 优积…

如何用GPT进行成像光谱遥感数据处理?

第一&#xff1a;遥感科学 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 第二&#xff1a;ChatGPT ChatGPT可以做什么&#xff1f; ChatGPT演示使用 ChatGPT的未来 第三&#xff1a;prompt 提示词 Prompt技巧&#xff08;大几岁&#xff09; 最好的原则和策…

QT常用类

五、常用类 QString 字符串类&#xff08;掌握&#xff09; QString是Qt的字符串类&#xff0c;与C的std::string相比&#xff0c; 不再使用ASCII编码。QString使用的是Unicode编码。 QString中每个字符都是一个16位的QChar&#xff0c;而不是8位的char。 QString完全支持中文&…

模板(类模板)---C++

模板目录 2.类模板2.1 类模板语法2.2 类模板与函数模板区别2.3 类模板中成员函数创建时机2.4 类模板对象做函数参数2.5 类模板与继承2.6 类模板成员函数类外实现2.7 类模板分文件编写2.8 类模板与友元2.9 类模板案例 2.类模板 2.1 类模板语法 类模板作用&#xff1a; 建立一个…

2024 2.17~2.23 周报

一、本周计划 学习如何缝合模块&#xff0c;跑代码InversionNet、想idea并实验&#xff0c;准备开题报告&#xff0c;学习python基础语法 二、完成情况 1 学习如何在代码中加入模块 可添加的模块如&#xff1a; 通道注意力CA 空间注意力SA self attention变体 频域快速傅里…

漫漫数学之旅031

文章目录 经典格言数学习题古今评注名人小传 - 经典格言 如果没有数学知识&#xff0c;这个世界的事物是无法搞清楚的。——罗杰培根&#xff08;Roger Bacon&#xff09; 好的&#xff0c;各位看官&#xff0c;让我们来听听罗杰培根这位中世纪的“科学老顽童”是怎么说的&…

openGauss学习笔记-227 openGauss性能调优-系统调优-其他因素对LLVM性能的影响

文章目录 openGauss学习笔记-227 openGauss性能调优-系统调优-其他因素对LLVM性能的影响 openGauss学习笔记-227 openGauss性能调优-系统调优-其他因素对LLVM性能的影响 LLVM优化效果不仅依赖于数据库内部具体的实现&#xff0c;还与当前所选择的硬件环境等有关。 表达式调用C…

CrossOver2024虚拟机软件的优缺点分别是什么?

CrossOver虚拟机软件的优缺点分别如下&#xff1a; 优点&#xff1a; 无需双系统&#xff1a;用户可以在Mac或Linux系统上直接运行Windows应用程序&#xff0c;无需安装双系统&#xff0c;从而节省了硬盘空间并避免了系统切换的麻烦。易于安装和使用&#xff1a;CrossOver具有…

基于SpringBoot的在线拍卖系统设计与实现(源码+调试+LW+PPT)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的在线拍…

初探Web客户端追踪技术

前言 案例1 当我们首次浏览网站时&#xff0c;在网页的下方位置经常会出现提示&#xff0c;询问是否允许使用 Cookie 来提供服务和流量。为了不被挡住浏览的内容&#xff0c;我们经常会下意识地点击“接受”&#xff0c;然后继续浏览。看似无害而有害增强你在这个网站上的体验…

基于springboot财务管理系统源码和论文

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

C# cass10 宗地初始化-根据 “预编号” “权利人”图层对应信息 批量添加到宗地图层

运行环境Visual Studio 2022 c# cad2016 cass10 根据 “预编号” “权利人”图层对应信息 批量添加到宗地图层 一、主要步骤 zdimport 方法&#xff1a;这个方法用于导入宗地信息。首先通过调用 AutoCAD API 获取当前活动文档、数据库和编辑器对象。然后根据 CreatePalette.Se…

CSB ----> XXE靶场记

小记&#xff1a;XXE的靶场 1.XXE的触发基本条件 想要触发XXE靶场&#xff0c;必须满足以下的条件 网站开启了外部实体解析libxml<2.9.0 版本 默认开启了外部实体解析&#xff1a;默认开启了外部实体解析网站管理员开启了外部实体解析&#xff08;不过这个一般不太可能&a…

android 15

https://android-developers.googleblog.com/2024/02/first-developer-preview-android15.html android 15的预览版出了&#xff0c;这个版本的发布计划大概是这样的&#xff08;大约是今年8月发布最终版本&#xff09; https://developer.android.com/about/versions/15/over…

vue3中使用vuedraggable实现拖拽el-tree数据进分组

看效果&#xff1a; 可以实现单个拖拽、双击添加、按住ctrl键实现多个添加&#xff0c;或者按住shift键实现范围添加&#xff0c;添加到框中的数据&#xff0c;还能拖拽排序 先安装 vuedraggable 这是他的官网 vue.draggable中文文档 - itxst.com npm i vuedraggable -S 直接…

Kubernetes安装nginx-controller作为统一网关

nginx-controller是什么呢? 它是一个能调度nginx的一个kubernetes operator,它能监听用户创建,更新,删除NginxConf对象,来调度本地的nginx实现配置的动态更新。如添加新的代理(http,https,tcp,udp),缓存(浏览器缓存,本地缓存),ssl证书(配置本身,ConfigMap,Secret),更新,删除等…

Js的 Promise的 then catch 笔记240222

Js的 Promise的 then catch 笔记240222 基本用法 new Promise(f>{setTimeout(ev>{f("一秒后输出控制台");},1000); }).then(f的参数>{console.log(f的参数); }); // 控制台输出: 一秒后输出控制台上面代码中, f 的标准名叫做 resolve , 所以应该写成 new …

开发Chrome插件,background.js中log打印未出现在控制台

不同于内容脚本&#xff08;通常命名content.js&#xff09;&#xff0c;在后台脚本&#xff08;通常命名background.js或service-worker.js&#xff09;中console.log并不会在控制台中直接显示。 要查看后台脚本上下文的正确控制台&#xff0c;执行如下步骤&#xff1a; 访问…

【Python笔记-设计模式】原型模式

一、说明 原型模式是一种创建型设计模式&#xff0c; 用于创建重复的对象&#xff0c;同时又能保证性能。 使一个原型实例指定了要创建的对象的种类&#xff0c;并且通过拷贝这个原型来创建新的对象。 (一) 解决问题 主要解决了对象的创建与复制过程中的性能问题。主要针对…