centos7 运行java程序,设置开机自动运行

centos7 运行java程序,设置开机自动运行

在CentOS 7中,可以通过以下几种方法来设置Java程序开机自动启动:

方法一:使用systemd服务

systemd是Linux系统中广泛使用的初始化系统和系统管理守护进程,可以用来管理开机启动项。

  1. 创建一个服务文件

创建一个新的service文件,例如ruoyi-admin.service,路径为/etc/systemd/system/:

sudo nano /etc/systemd/system/ruoyi-admin.service
  1. 编辑服务文件

在文件中添加以下内容,根据实际情况修改:

[Unit]
Description=ruoyi-admin
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/home/zhao/programs/ruoyi
ExecStart=/usr/bin/java -jar /home/zhao/programs/ruoyi/ruoyi-admin.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
  • Description:服务的描述。
  • After:指定该服务在
  • network.target之后启动。
  • User和Group:运行该服务的用户和组。
  • WorkingDirectory:工作目录。
  • ExecStart:启动Java程序的命令。
  • SuccessExitStatus:程序正常退出的状态码。
  • Restart:设置服务在失败后自动重启。
  • RestartSec:重启前的等待时间。
  1. 重新加载systemd配置并启动服务
sudo systemctl daemon-reload
sudo systemctl start ruoyi-admin
  1. 设置开机自启
sudo systemctl enable ruoyi-admin
  1. 检查服务状态
sudo systemctl status ruoyi-admin

方法二:使用crontab

  1. 编辑crontab文件
crontab -e
  1. 添加开机启动项
  • 在文件末尾添加以下行:
@reboot /usr/bin/java -jar /home/zhao/programs/ruoyi/ruoyi-admin.jar
  • 这里的@reboot表示在系统启动时执行该命令。
  1. 保存并退出
  • 保存文件并退出编辑器,crontab会自动重新加载配置。

方法三:使用rc.local

  1. 编辑rc.local文件
sudo vi /etc/rc.d/rc.local
  1. 添加启动命令
  • 在文件末尾添加以下行:
/usr/bin/java -jar /home/zhao/programs/ruoyi/ruoyi-admin.jar
  1. 保存并退出
  • 保存文件并退出编辑器。
  1. 赋予rc.local执行权限
sudo chmod +x /etc/rc.d/rc.local
  1. 启动rc.local服务
sudo systemctl start rc-local
  1. 设置开机自启
sudo systemctl enable rc-local

注意事项

  • 路径问题:确保所有路径都是绝对路径,包括Java程序的路径和JAR文件的路径。
  • 权限问题:确保运行Java程序的用户有权限访问相关文件和目录。
  • 日志记录:可以将程序的输出和错误信息重定向到日志文件,方便后续排查问题。例如:
/usr/bin/java -jar /home/zhao/programs/ruoyi/ruoyi-admin.jar > /path/to/your/logfile.log 2>&1 &
  • JAR文件的可执行性:如果使用的是可执行JAR文件,确保其MANIFEST文件中指定了Main-Class属性。

以上方法可以根据你的需求和使用习惯选择其中一种来实现Java程序的开机自动启动。

原文链接:,转发请注明来源!