Linux

简介: 本文介绍如何将一个SpringBoot应用打包并部署到Linux服务器。包括项目搭建、JAR包打包、JDK安装配置、应用上传与启动,以及通过心跳接口验证服务是否正常运行的完整流程,适用于Java应用的Linux部署入门学习。

1.系统打包

为方便测试,这里我以一个简单的SpringBoot工程为例,工程中预留了一个心跳健康检查接口

即后续可以通过访问这个接口,感知应用是否健康,如果有正常返回即说明工程成功部署

工程搭建

如不想0-1搭建,也可直接采用这个:📎LinuxDemo.zip

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.yzxb</groupId>
    <artifactId>linux</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>linux</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <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>
</project>

启动类

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

📎jdk-8u271-linux-x64.tar.gz

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

相关文章
|
4月前
|
运维 监控 Cloud Native
巨人网络《超自然行动组》携手阿里云打造云原生游戏新范式
通过 ACK(容器服务)、ESS(弹性伸缩)、网络型负载均衡 NLB、OpenKruiseGame(OKG)、SLS(日志服务)、ARMS(应用实时监控服务)、阿里云原生防护(Native Protection),以及云原生数据库 polardb 和 Redis 的深度协同,巨人网络构建了一套高弹性、高可用、低成本、智能化、高安全且高性能数据处理能力的新一代游戏基础设施,为行业树立了云原生落地的标杆。如今,随着日活跃用户(DAU)突破千万大关,这套技术体系,已经成为游戏行业“云原生转型”的标杆案例。
759 46
|
4月前
|
人工智能 弹性计算 安全
AI真能成打工仔?阿里云OpenClaw虾友会现场“训虾”,百人脑暴!
北京时间3月13日晚7点,当北京的打工人还在晚高峰里“摸鱼”时,阿里巴巴朝阳科技园C区已经炸开了锅。百余位开发者、技术极客和“虾爸虾妈”齐聚一堂,把这里变成了OpenClaw虾友开放麦北京站的现场。没有枯燥的PPT轰炸,也没有高高在上的技术布道,就是一个真正的开放麦,大家聚在一起,就是要打破对AI的滤镜——不聊虚的,只看AI Agent怎么真刀真枪地干活。
|
5月前
|
存储 人工智能 缓存
我用半天时间,一行代码没写ai的一个开源软件 ”一个仓库,管理所有 AI 工具配置“
DotAI 是一个开源工具,通过 Git 统一管理 Cursor、Claude、Copilot 等十余款 AI 编程助手的原生配置,零格式转换、自动分发、支持用户/项目双作用域,并提供 CLI 与 VSCode 插件双界面。
751 2
我用半天时间,一行代码没写ai的一个开源软件 ”一个仓库,管理所有 AI 工具配置“
|
8月前
|
机器学习/深度学习 人工智能 算法
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
本数据集包含7000张已标注水稻病害图像,涵盖细菌性叶斑病、褐斑病和叶霉病三类常见病害,适用于目标检测任务。数据按8:1:1划分训练集、验证集与测试集,标注格式支持YOLO等主流模型,可直接用于AI训练与部署,助力智慧农业病害识别研究。
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
|
8月前
|
数据可视化 搜索推荐 大数据
2026版基于python大数据的旅游可视化及推荐系统
本研究聚焦基于Python大数据的旅游可视化与推荐系统,利用Python在数据处理、分析和可视化方面的优势,结合Django框架与MySQL数据库,构建高效、个性化的旅游推荐平台。通过爬取多源旅游数据,运用机器学习算法挖掘用户偏好,实现精准推荐;借助Matplotlib、Seaborn等工具进行数据可视化,直观展示景点分布、客流趋势等信息。系统不仅提升游客决策效率与体验,也助力旅游企业优化产品设计与营销策略,推动行业数字化转型与智能化发展。
|
4月前
|
Kubernetes 安全 应用服务中间件
Kubernetes 官方再出公告,强调立即迁移 Ingress NGINX
北京时间 1 月 30 日,Kubernetes 指导委员会和安全响应委员会在 kubernetes.io 再次发出公告《Ingress NGINX: Statement from the Kubernetes Steering and Security Response Committees》,并通过 CNCF 官方微信公众号发布中文版公告。
278 40
|
4月前
|
Windows
如何完美地卸载流氓软件?软件卸载不掉也安装不了怎么办?
HiBit Uninstaller 是一款轻量级、便携式Windows卸载工具,支持彻底删除软件及残留文件、注册表项,并提供系统垃圾清理、右键菜单管理等优化功能,操作简单,免安装即用。(239字)
1216 6
|
4月前
|
弹性计算 人工智能 运维
阿里云服务器购买:38元1年200M轻量和99元1年云服务器ECS如何选择?配置全解析
阿里云38元/年200M轻量服务器(新用户秒杀)与99元/年ECS经济型e实例如何选?本文对比核心配置:前者峰值带宽高、一键部署、运维零门槛,适合新手建站;后者固定带宽稳、弹性扩展强、可对接RDS等企业服务,适合长期稳定使用。按场景对号入座,不花冤枉钱。(239字)
523 1
|
4月前
|
存储 人工智能 开发工具
OSS 向量 Bucket 最佳实践:快速构建多模态图片语义检索
本文介绍基于 OSS 向量 Bucket 和阿里云大模型服务平台百炼的多模态 Embedding 模型,搭建海量图片的智能语义检索系统,实现基于自然语言描述的文搜图能力的最佳实践,适用于电商商品搜索、智能相册、媒体资产管理、AI 语义检索、图片知识库等场景。
479 5

热门文章

最新文章