openEuler中设置jar包自动启动
要在 openEuler 中设置 jar 包自动启动,可通过。
要在 openEuler 中设置 jar 包自动启动,可通过systemd 服务实现,以下是详细步骤:
步骤 1:创建启动脚本
在 jar 包所在目录(如/usr/local/app/)创建启动脚本start_app.sh,内容如下:
bash
#!/bin/bash
# jar包绝对路径
JAR_FILE="/usr/local/app/your-app.jar"
# Java命令(可通过`which java`查询)
JAVA_CMD="/usr/lib/jvm/java-1.8.0-openjdk/bin/java"
# 启动jar包,可添加JVM参数(如内存配置)
$JAVA_CMD -jar $JAR_FILE
赋予脚本可执行权限:
bash
chmod +x /usr/local/app/start_app.sh
步骤 2:创建 systemd 服务文件
在/etc/systemd/system/目录下创建服务文件(如your-app.service),内容如下:
ini
[Unit]
Description=Your Jar Application
After=network.target
[Service]
# 运行用户(建议使用普通用户,避免权限过高)
User=your_user
Group=your_group
# 启动脚本绝对路径
ExecStart=/usr/local/app/start_app.sh
# 进程退出时自动重启
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
步骤 3:加载并启用服务
执行以下命令使服务生效:
bash
# 重新加载systemd配置
systemctl daemon-reload
# 启用开机自启动
systemctl enable your-app.service
# 启动服务
systemctl start your-app.service
步骤 4:验证服务状态
执行systemctl status your-app.service,若显示active (running)则表示配置成功。
补充说明
- 若启动失败,可通过
journalctl -u your-app.service -xe查看详细日志,定位问题(如 jar 包路径错误、权限不足、Java 环境缺失等)。 - 若需自定义日志输出,可在启动脚本中重定向日志,例如:
$JAVA_CMD -jar $JAR_FILE > /usr/local/app/app.log 2>&1。
要在 openEuler 中配置 JDK 环境变量,可通过修改 Shell 配置文件实现,以下是详细步骤:
步骤 1:确认 JDK 安装路径
首先找到 JDK 的安装目录,假设安装在/usr/lib/jvm/java-1.8.0-openjdk(可通过ls /usr/lib/jvm/查看具体版本)。
步骤 2:修改环境变量配置文件
选择以下任意一种方式配置(推荐修改/etc/profile实现系统级生效):
方式 1:系统级配置(所有用户生效)
编辑/etc/profile文件:
bash
vi /etc/profile
在文件末尾添加以下内容(替换为实际 JDK 路径):
bash
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
方式 2:用户级配置(仅当前用户生效)
编辑用户家目录下的.bash_profile(或.bashrc):
bash
vi ~/.bash_profile
添加与上述相同的环境变量配置。
步骤 3:使环境变量生效
执行以下命令加载配置:
bash
source /etc/profile # 系统级配置生效
# 或 source ~/.bash_profile # 用户级配置生效
步骤 4:验证配置
执行以下命令,若输出 JDK 版本信息则表示配置成功:
bash
java -version
补充说明
- 若 JDK 为手动解压安装(非包管理器安装),需将
JAVA_HOME替换为实际解压路径(如/opt/jdk1.8.0_xxx)。 - 若需在 systemd 服务中使用 JDK 环境变量,可在服务文件的
[Service]段通过Environment字段单独配置(如前文服务配置场景)。
这是执行systemctl enable blzk.service时的报错截图,属于系统服务配置场景,需解决服务无法启用的问题。
报错原因
服务文件缺少[Install]段的WantedBy配置,或配置不符合 systemd 规范,导致systemctl enable命令无法识别启用规则。
解决步骤
- 完善服务文件的
[Install]段编辑/etc/systemd/system/blzk.service,确保[Install]段包含:ini
[Install] WantedBy=multi-user.target - 重新加载并启用服务执行命令:
bash
systemctl daemon-reload systemctl enable blzk.service - 验证启用状态执行
systemctl is-enabled blzk.service,若输出enabled则表示启用成功。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)