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

一、项目介绍

系统模块

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.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <!-- 默认关掉单元测试,不用手动关闭了 -->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </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控制台可以看到,服务已经在正常运行:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jmeter 命令行启动 动态参数化

[Jmeter命令行参数] 一、在linux中&#xff0c;使用非gui的方式执行jmeter。若需更改参数&#xff0c;必须先编辑jmx文件&#xff0c;找到对应的变量进行修改&#xff0c;比较麻烦。因此&#xff0c;可以参数化一些常用的变量&#xff0c;直接在Jmeter命令行进行设置 二、参数…

使用 npm/yarn 等命令的时候会,为什么会发生 Error: certificate has expired

缘起 昨天&#xff0c;我写了一篇文章&#xff0c;介绍如何使用项目模板&#xff0c;构建一个 Electron 项目的脚手架&#xff0c;我发现我自己在本地无法运行成功&#xff0c;出现了错误。 ✖ Failed to install modules: ["electron-forge/plugin-vite^7.2.0",&qu…

[office] excel2016怎么求最大值和最小值 #职场发展#知识分享

excel2016怎么求最大值和最小值 excel求最大值最小值步骤&#xff1a; 1、鼠标左键双击计算机桌面Excel2016程序图标&#xff0c;将其打开运行。在打开的Excel2016程序窗口&#xff0c;点击“打开其他工作簿”选项&#xff0c;打开需要进行编辑的Excel工作表。如图所示; 2、在打…

HTML的特殊字符

HTML的特殊字符 有些特殊的字符在 html 文件中是不能直接表示的&#xff0c;例如: 空格&#xff0c;小于号(<)&#xff0c;大于号(>)&#xff0c;按位与(&)。 空格 示例代码&#xff1a; 运行结果&#xff1a; 由于html 标签就是用 < > 表示的&#xff0…

【RT-DETR有效改进】 多维度注意力机制 | TripletAttention三重立体特征选择模块

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制,它通过三个不同的视角来分析输入的数据,就好比三个人从不同的角度来观察同一幅画,然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入了一种新的注意力模块,这个模块…

JAVA工程师面试专题-JVM篇

目录 一、运行时数据区 1、说一下JVM的主要组成部分及其作用? 2、说一下 JVM 运行时数据区 ? 3、说一下堆栈的区别 4、成员变量、局部变量、类变量分别存储在什么地方? 5、类常量池、运行时常量池、字符串常量池有什么区别? 6、JVM为什么使用元空间替换永久代 二、…

在前后端分离项目中如何设置统一返回格式

目录 一、步骤一 二、步骤二 在前后端分离的项目中&#xff0c;为了方便前后端交互&#xff0c;后端往往需要给前端返回固定的数据格式&#xff0c;但不同的实体类返回格式不同&#xff0c;所以在真实开发中&#xff0c;我们将所有API接口设置返回统一的格式。基本上包括的有…

EventLoop整合与TimerWheel联合调试(整合二)

目录 概要 tcp_cli.cc tcp_srv.cc server.hpp 测试结果 第二次整合 概要 本主要是将以下模块进行整合测试 Poller模块与Channel模块整合-CSDN博客 时间轮设计-CSDN博客 timerfd的认识与基本使用-CSDN博客 整合基于的理念 tcp_cli.cc #include "../source/server.h…

ThreadLocal内存泄漏?

ThreadLocal内存泄漏&#xff1f; 在分析ThreadLocal导致的内存泄露前&#xff0c;需要普及了解一下内存泄露、强引用与弱引用以及GC回收机制&#xff0c;这样才能更好的分析为什么ThreadLocal会导致内存泄露呢&#xff1f;更重要的是知道该如何避免这样情况发生&#xff0c;增…

Facebook与数字创新:引领社交媒体的数字化革命

在当今数字化时代&#xff0c;社交媒体已经成为了人们日常生活中不可或缺的一部分。而在众多社交媒体平台中&#xff0c;Facebook作为领头羊&#xff0c;一直致力于推动数字创新&#xff0c;引领着社交媒体的数字化革命。本文将探讨Facebook在数字创新方面的表现&#xff0c;以…

第100讲:MHA+Atlas实现MySQL主从复制读写分离分布式集群

文章目录 1.Atlas读写分离简介2.搭建MHA高可用MySQL主从复制集群3.部署配置Atlas读写分离中间件3.1.安装Atlas读写分离中间件3.2.配置读写分离3.3.启动Atlas读写分离 4.读写分离集群测试5.生产环境中创建一个用户通过Atlas使用6.Atlas通过管理接口实现在线管理7.Atlas自动分表 …

ETW Bypass

1.NET 程序集 像 Java 是由 JVM 托管的&#xff0c;.NET 程序集(比如C_Sharp.exe) 都是由 CLR 托管的 硬盘加载 从硬盘中读取加载到内存 通过三个接口可以启动 CLR 来对 .NET 程序集 进行硬盘加载 Program.cs&#xff1a; x64.cpp&#xff1a; Copy #include <iostream…

【已解决】PPT无法复制内容怎么办?

想要复制PPT文件里的内容&#xff0c;却发现复制不了&#xff0c;怎么办&#xff1f; 这种情况&#xff0c;一般是PPT文件被设置了以“只读方式”打开&#xff0c;“只读方式”下的PPT无法进行编辑更改&#xff0c;也无法进行复制粘贴的操作。 想要解决这个问题&#xff0c;我…

c语言---函数指针变量

目录 一、函数指针变量的概念二、函数指针变量的创建三、函数指针变量的使用 一、函数指针变量的概念 函数指针变量应该是用来存放函数地址的&#xff0c;未来通过地址能够调用函数的。 二、函数指针变量的创建 那么函数是否有地址呢&#xff1f; 接下来看看&#xff1a; #…

imazing软件安全吗?2024中文永久免费许可证

以下是iMazing更多的使用场景描述&#xff1a; iMazing3Mac-最新绿色安装包下载如下&#xff1a; https://wm.makeding.com/iclk/?zoneid49816 iMazing3Win-最新绿色安装包下载如下&#xff1a; https://wm.makeding.com/iclk/?zoneid49817 1. 数据迁移 当你换新的iOS设…

Outlook 中关闭特殊字符显示

故障现象&#xff1a; 不知道什么原因&#xff0c;Outlook发mail时候&#xff0c;突然显示如下的特殊字符&#xff0c;看起来非常不方便&#xff0c;需要关闭; 解决办法&#xff1a; 在Outlook正文里面&#xff0c;输入CtrlShift*&#xff08; 其中*是键盘数字8旁边的那个*&a…

KEIL软件新建工程示例

很感谢这位博主的分享&#xff0c;参考链接&#xff1a;KEIL软件安装教程 在实践的过程中&#xff0c;会有些不一样&#xff0c;把我遇到的问题也贴出来&#xff0c;谨做记录与参考。 一 在环境中配置相关文件&#xff08;第一种&#xff09; 1、新建一个文件夹demo&#xff…

IDEA的版本控制Local Changes和settings按钮显示问题

经常用idea的小伙伴应该对标题的这两个功能不陌生&#xff0c;特别是Local Changes 周日刚开工&#xff0c;我的idea就过期了&#xff0c;索性就下载了一个2023.3.3版本的&#xff0c;安装好打开一看&#xff0c;发现Local Changes 和 settings的按钮消失了&#xff0c;虽然说…

我的NPI项目之Android USB 系列(一) - 遥望和USB的相识

和USB应该是老朋友了&#xff0c;从2011年接触Android开发开始&#xff0c;就天天和USB打交道了。那时候还有不 对称扁头的usb/方口的usb&#xff0c;直到如今使用广泛的防反插USB3.0 type-C。 但是&#xff0c;一直有一个不是很清楚的问题萦绕在心头&#xff0c;那就是。先有…

韶音、南卡、Cleer怎么样?2024年主流产品硬核测评对比

​作为一位资深的开放式耳机使用者&#xff0c;我要强调&#xff0c;在选购耳机时应避免仅仅因为某款产品的流行度或是品牌名气而做出选择。适合自己需求的耳机才是最佳之选。我和我的团队经过多次测试&#xff0c;对比了几种市场上热门的开放式耳机&#xff0c;从中总结了我们…