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

相关推荐
老鼠只爱大米22 分钟前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
一叶飘零_sweeeet23 分钟前
Java+EasyExcel 打造学习平台视频学习时长统计系统
java·报表·easyexcel
Go away, devil24 分钟前
Java-----集合
java·开发语言
GIS数据转换器25 分钟前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
JIngJaneIL26 分钟前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·内蒙古景点旅游
新之助小锅1 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
一路随云000001 小时前
基于Unity YooAsset自动化资源管理框架,附源代码
运维·自动化
数数科技的数据干货2 小时前
从爆款到厂牌:解读游戏工业化的业务持续增长道路
运维·数据库·人工智能
无糖冰可乐213 小时前
IDEA多java版本切换
java·ide·intellij-idea
合作小小程序员小小店3 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea