如何在服务器上部署一个java程序

如何在服务器上部署一个java程序?

一、在服务器上安装jdk环境

1.创建目录用于存放jdk文件

cd /usr/local

2.下载最新版oracle jdk22

wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz

3.解压

tar -zxf jdk-22_linux-x64_bin.tar.gz

4.配置环境变量

vim /etc/profile
// 在末尾处添加
export JAVA_HOME=/usr/local/jdk-22.0.1 #你安装jdk的路径,你的jdk版本(不一定是22.0.1版本)
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}

// 注意:JAVA_HOME、CLASSPATH、PATH必配置,最好5个变量都配置上。
// JAVA_HOME一定注意是你安装的jdk路径,是你安装的jdk22最新版本

5.刷新环境变量

source /etc/profile

6.验证java是否已安装成功

java -version

二、安装java程序

1.创建新的系统用户,用户名可自定义

useradd -m service

2.为 service用户创建密码

passwd service

3.登录到service用户

su - service

4.创建存放运行包的目录,这里以 ~/app 为例

mkdir ~/app && cd ~/app

5.下载jar包

wget https://xxxx.jar -O service.jar

6.创建工作目录

mkdir ~/.service2 && cd ~/.service2

7.创建 service配置文件,并在配置文件中填写配置内容

vim application.yaml

8.测试运行service

cd ~/app && java -jar service.jar --spring.config.additional-location=optional:file:$HOME/.service2/

三、将service设为在后台运行

1.切换到root

exit

2.创建xxx.service文件

vim /etc/systemd/system/xxx.service

3.填写xxx.service文件

[Unit]
Description=Hello Service

Documentation=https://docs.com

After=network-online.target

Wants=network-online.target

[Service]
Type=simple
User=USER
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar JAR_PATH --spring.config.additional-location=optional:file:/home/service/.service2/
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

4.重新加载 systemd

systemctl daemon-reload

5.运行服务

`systemctl start xxx

6.将服务设置为系统启动时自动运行

systemctl enable xxx

7.最后,可以通过下面的命令查看服务日志

journalctl -n 20 -u halo

相关推荐
怒放de生命20105 分钟前
IDEA 2025 最新版jrebel 破解
java·ide·intellij-idea
科技块儿6 分钟前
社交媒体账号安全如何通过IP查询工具检测异常登录?
服务器·网络·数据库·tcp/ip·安全
胶水代码14 分钟前
软件开发之DevOps
运维·devops
智能运维指南16 分钟前
信创背景下,国产 DevOps 选型的价值跃迁路径设计(2026)
运维·devops
生活予甜18 分钟前
2026年算法备案办理服务优选服务商口碑解读
大数据·运维·人工智能
jiayong2323 分钟前
流程设计器技术选型评估报告
运维·ubuntu·流程引擎
AI-小柒25 分钟前
OpenClaw技术深度解析:从智能助手到自动化引擎的范式革命(附DataEyes实战)
大数据·运维·开发语言·人工智能·python·http·自动化
MegaDataFlowers25 分钟前
认识复杂度和简单排序算法
java·算法·排序算法
springfancy201334 分钟前
数字化运维实践:如何构建全场景、智能化的设备管理系统?
运维·设备管理系统·设备维保管理系统·设备运维管理系统·设备保养管理系统
StackNoOverflow38 分钟前
Maven 核心知识整理
java·maven