如何在服务器上部署一个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

相关推荐
C+-C资深大佬5 分钟前
python while循环
服务器·开发语言·python
Tian_Hang5 分钟前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
江畔柳前堤10 分钟前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
爱喝水的鱼丶13 分钟前
SAP-ABAP:接口 vs 抽象类:ABAP OOP两类扩展方式的差异与选型原则
运维·性能优化·sap·abap·erp·经验交流
iCxhust19 分钟前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器
懒鸟一枚20 分钟前
Linux 系统 Service 服务配置详解
linux·服务器·网络
livemetee34 分钟前
【关于Spring声明式事务】
java·后端·spring
倒流时光三十年37 分钟前
Java 内存模型(JMM)通俗解释
java·开发语言
敖行客 Allthinker1 小时前
企业级多台服务器组装 K3s 高性能集群实战指南
运维·服务器·团队开发
码兄科技1 小时前
Java AI智能体开发实战:从零构建企业级智能应用指南
java·开发语言·人工智能