Linux

简介: 本文介绍如何将SpringBoot项目打包并部署至Linux服务器。包含工程搭建、JAR包上传、JDK安装配置、应用启动及通过心跳接口验证服务健康状态的完整流程,适用于Java应用的Linux部署测试场景。(238字)

1.系统打包
为方便测试,这里我以一个简单的SpringBoot工程为例,工程中预留了一个心跳健康检查接口
即后续可以通过访问这个接口,感知应用是否健康,如果有正常返回即说明工程成功部署
工程搭建
如不想0-1搭建,也可直接采用这个:

pom.xml
<?xml version="1.0" encoding="UTF-8"?>


4.0.0
com.yzxb
linux
0.0.1-SNAPSHOT
linux
Demo project for Spring Boot

1.8
UTF-8
UTF-8
2.6.13



org.springframework.boot
spring-boot-starter-web





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


<build>
    <finalName>linuxDemo</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot.version}</version>
            <configuration>
                <mainClass>cn.yzxb.linux.LinuxApplication</mainClass>
            </configuration>
            <executions>
                <execution>
                    <id>repackage</id>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>


启动类
package cn.yzxb.linux;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class LinuxApplication {
public static void main(String[] args) {
SpringApplication.run(LinuxApplication.class, args);
System.out.println("Linux run success");
}
}

controller
package cn.yzxb.linux.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("heart")
public class LinuxController {

@GetMapping
public String heartBeat() {
    return "I'm OK";
}

}

应用打包

2.上传应用
找到上述打包路径所在的jar文件,借助于xshell或finalshell等工具,上传至自己指定的路径即可
应用启动前,请确保你已正确安装对应版本的JDK,如未安装可参照下述操作
1.上传JDK

2.安装JDK
● 在jdk所在目录解压即可:tar -zxvf jdk-8u271-linux-x64.tar.gz
3.配置JAVA_HOME(注意JAVA_HOME路径)
● vim /etc/profile
export JAVA_HOME=/tmp/linux/jdk1.8.0_271
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
● source /etc/profile
4.验证JDK
● source /etc/profile

3.启动应用

4.验证心跳

相关文章
|
5月前
|
存储 SQL 关系型数据库
面试八股文专题-----MySQL篇
本篇系统讲解MySQL核心知识:查询语句的书写与执行顺序、多表连接方式、索引机制(B+树、聚簇/非聚簇、回表、覆盖索引)、SQL优化策略(左前缀原则、索引失效场景)、存储引擎对比及慢查询定位分析,助力高效数据库开发与调优。
|
5月前
|
canal 消息中间件 关系型数据库
配置数据同步环境
本文介绍如何配置Canal+MQ实现MySQL数据同步。首先开启MySQL主从复制并启用Binlog行模式,创建Canal专用用户;接着部署Canal服务,配置其通过RabbitMQ发送数据变更消息;再设置监听的数据库表及动态Topic路由;最后在RabbitMQ中创建交换机与队列绑定,完成数据同步链路。修改指定表数据后,Canal捕获Binlog并将更新消息发送至MQ队列,供下游系统消费,实现高效、可靠的数据同步。
|
8月前
|
缓存 供应链 开发者
1688 item_get_app 接口深度分析及 Python 实现
1688平台item_get_app接口专为移动端设计,提供商品原始详情数据,包含批发价格、起订量、供应商信息等B2B特有字段,适用于采购决策、供应链分析等场景。接口需通过appkey+access_token认证,并支持字段筛选,返回结构化数据,助力企业实现智能采购与供应商评估。
|
监控 网络协议 Java
Netty基础—1.网络编程基础一
本文详细介绍了网络通信的基础知识,涵盖OSI七层模型、TCP/IP协议族及其实现细节。首先解释了OSI模型各层功能,如物理层负责数据通路建立与传输,数据链路层提供无差错传输等。接着探讨了TCP/IP协议,包括TCP和UDP的特点、三次握手与四次挥手过程,以及如何通过确认应答和序列号确保数据可靠性。还分析了HTTP请求的传输流程和报文结构,并讨论了短连接与长连接概念。 此外,解析了Linux下的IO模型,包括阻塞IO、非阻塞IO、IO复用(select/poll/epoll)、信号驱动IO和异步IO的特点与区别,强调了epoll在高并发场景下的优势及其水平触发和边缘触发两种工作模式。
|
前端开发 JavaScript Java
体育赛事直播系统开发:实现用户群聊和发红包功能的关键部分代码
本方案基于体育赛事直播系统的聊一聊功能模块,实现群聊与发红包的核心功能。技术栈包括后端PHP-ThinkPHP、安卓-Java、iOS-OC及PC/H5-Vue.js。数据库采用MySQL设计,包含群组、成员、消息、红包及其领取记录表。后端提供创建群组、发送消息和红包、领取红包等API接口;前端Vue.js实现群聊界面与WebSocket实时消息推送;移动端(Android/iOS)通过WebSocket接收消息并展示。整体架构支持多平台交互,确保实时性与用户体验。
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,&quot;死叉&quot;指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而&quot;金叉&quot;则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
391 2
|
传感器 Linux 开发工具
Linux MQTT智能家居(ubantu和ARM中使用MQTT)
Linux MQTT智能家居(ubantu和ARM中使用MQTT)
726 0
|
小程序 Android开发 数据安全/隐私保护
【 uniapp - 黑马优购 | 发布】详讲如何发布一个小程序
【 uniapp - 黑马优购 | 发布】详讲如何发布一个小程序
421 0
|
数据可视化 Python
可视化 | 中国历届夏季奥运会奖牌数据(树图)
可视化 | 中国历届夏季奥运会奖牌数据(树图)
|
IDE 编译器 开发工具
MDK中用C++开发STM32
MDK中用C++开发STM32
614 0
MDK中用C++开发STM32