Linux

简介: 本文介绍如何将SpringBoot项目打包并部署至Linux服务器。包含工程搭建、JAR包上传、JDK安装配置及应用启动全过程,并通过健康检查接口验证部署状态,确保服务正常运行。

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.验证心跳

目录
相关文章
|
2月前
|
消息中间件 人工智能 NoSQL
AgentScope x RocketMQ:打造企业级高可靠 A2A 智能体通信基座
基于 RocketMQ SDK 实现了 A2A 协议的 ClientTransport 接口(部分核心代码现已开源),并与 AgentScope 框架深度集成,共同构建了全新的 A2A 智能体通信基座,为多智能体应用提供企业级、高可靠的异步协同方案。
457 58
|
2月前
|
Devops 持续交付 项目管理
阿里巴巴-云效
简介:本文介绍如何使用阿里云效平台进行项目管理与自动化部署。涵盖服务开通、需求管理、代码托管及流水线构建等流程,帮助团队高效协作,实现代码自动发布,适合开发者快速上手体验DevOps实践。(238字)
166 2
|
2月前
|
Arthas Java 测试技术
下载安装
Arthas使用需先启动Java应用,确保服务器已安装JDK并可访问公网。下载arthas-boot.jar,运行后选择目标Java进程即可接入。支持多进程管理,通过序号选择,便于后续诊断操作。
88 0
|
2月前
|
缓存
QLExpress使用及源码分析
本示例演示QLExpress规则引擎的完整使用流程:从实体构建、接口定义到脚本编写,表达式内容由yaml文件(如user.yaml)维护。运行时通过QLExpressRunner解析语法树,支持上下文定制与二次扩展。自动扫描规则脚本,构建AST并执行,支持别名映射与汉化,实现灵活的规则计算与管理。(238字)
78 0
|
2月前
|
Java 大数据
ArrayList扩容机制
本文详解ArrayList的扩容机制。通过add()方法触发ensureCapacityInternal(),首次扩容至10;添加第11个元素时,调用grow()方法将容量扩为1.5倍。结合minCapacity与elementData.length比较,分析扩容时机与过程,并区分length、length()、size()的用法。
61 3
|
2月前
|
监控 算法 Unix
Thread.sleep(0) 到底有什么用(读完就懂)
Thread.Sleep用于暂停线程执行,Sleep(1000)不保证精确唤醒时间,受系统调度影响;Sleep(0)则触发立即重新竞争CPU,常用于避免界面假死。理解其原理有助于正确使用多线程。
40 1
|
2月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev→test→pre→prod)高效发布。涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支管理、一键发布与回滚机制,并结合Skywalking实现日志链路追踪,提升发布效率与问题排查能力。
46 1
|
2月前
|
缓存 Java 数据库连接
mybatis
基于SpringDataMongoDB实现头条文章评论功能,支持增删改查、按文章ID查询评论及点赞操作。采用MongoDB存储,通过索引优化查询效率,使用MongoTemplate实现高效字段更新。
24 0
|
2月前
|
前端开发 NoSQL Java
单体版本
JeecgBoot是一款基于Spring Boot与Vue3的低代码开发平台,支持前后端分离。后端采用Spring Cloud Alibaba微服务架构,集成Shiro、Jwt、Redis等;前端使用Vue3+TypeScript+Vite5,支持动态菜单与权限控制。提供代码生成、在线表单、数据库同步等功能,助力快速开发企业级应用。
70 0
|
2月前
|
运维 安全 Devops
生产环境缺陷管理
在大型团队中,多分支开发易导致bug漏修、漏发,引发严重生产事故。我们基于go-git打造通用化工具git-poison,实现分布式bug追溯与管理,支持投毒、解毒、银针三步卡点,自动阻塞带bug版本发布,降低协同成本与认知负担,已在发布平台集成并稳定运行一年,显著提升发布安全与效率。
51 0