服务化并配置自动重启
1.创建 Java 程序的启动脚本start.sh
bash
#!/bin/bash
# 设置 Java 程序的路径
JAR_PATH="/path/to/your/java_program.jar"
# 启动 Java 程序
java -jar "$JAR_PATH" > /dev/null 2>&1
# 添加执行权限
chmod +x start.sh
2.创建 Systemd 服务文件
在 /etc/systemd/system/
目录下创建一个新的服务文件,比如 my_java_app.service
bash
User=root #指定运行服务的用户
WorkingDirectory=/path/to/working/directory #指定服务的工作目录 注意这会让程序的根目录变为该路径
ExecStart=/path/to/start.sh #设置启动命令
Restart=always #设置服务崩溃后的重启策略,always 表示总是重启
RestartSec=10s #设置服务重启前的等待时间(以秒为单位)
Environment=JAVA_OPTS=-Xmx200m #可以设置环境变量,比如 JVM 参数
WantedBy=multi-user.target #指定在哪个运行级别下自动启动
--- 以下为正式内容 文件内部不要有任何注释 ---
[Unit]
Description=My Java Application
[Service]
User=tomcat
WorkingDirectory=/mydata/ChouYin/wj_admin
ExecStart=/usr/java/jdk1.8.0_202/bin/java -jar /mydata/ChouYin/wj_admin/xxl-job-admin-2.4.0.jar
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
3.启用并启动服务
bash
sudo systemctl daemon-reload
sudo systemctl enable my_java_app.service
sudo systemctl start my_java_app.service