CentOS 7.8 上设置开机自启动一个 Java 程序

155 阅读1分钟

要在 CentOS 7.8 上设置开机自启动一个 Java 程序,可以使用 systemd 服务来管理这个进程。以下是具体步骤:

  1. 创建 Systemd 服务文件

    首先,创建一个新的 systemd 服务文件。可以在 /etc/systemd/system 目录下创建一个新的服务文件,例如 pum-admin.service

    sudo vi /etc/systemd/system/pum-admin.service
    
  2. 编辑服务文件

    在服务文件中,添加以下内容:

    [Unit]
    Description=PUM Admin Service
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/java17/openjdk-17.0.2/bin/java -jar /www/wwwroot/pum/pum-admin.jar
    WorkingDirectory=/www/wwwroot/pum
    StandardOutput=append:/www/wwwroot/pum/log.log
    StandardError=append:/www/wwwroot/pum/log.log
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    这里的 ExecStart 是你启动 Java 程序的命令,WorkingDirectory 是你的工作目录,StandardOutputStandardError 是日志文件的位置,Restart 设置了在失败时自动重启。

  3. 重新加载 systemd 配置

    创建或修改服务文件后,重新加载 systemd 配置:

    sudo systemctl daemon-reload
    
  4. 启用并启动服务

    启用服务,使其在系统启动时自动启动:

    sudo systemctl enable pum-admin.service
    

    立即启动服务:

    sudo systemctl start pum-admin.service
    
  5. 检查服务状态

    可以检查服务是否正常运行:

    sudo systemctl status pum-admin.service
    
  6. 查看日志

    日志会被写入到你在服务文件中指定的 log.log 文件中。你可以通过以下命令查看日志:

    tail -f /www/wwwroot/pum/log.log
    

通过以上步骤,应该能够在 CentOS 7.8 上设置 Java 应用程序在开机时自动启动并运行。

重新启动服务命令

sudo systemctl restart pum-admin.service