Ubuntu设置jar自启动

在服务器运维的过程中经常会遇到服务宕机,重启再手动启动项目的情况,这里我们通过Linux提供的systemd来创建一个jar包自启动的服务。

  1. 首先我们需要一个*.service文件

    vim /etc/systemd/system/demo.service
    

    demo.srevice

    [Unit]
    Description=Demo Service
    Documentation=https://demo.run
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    # 如果是root用户下面这行可以注释
    # User=USER
    # 这里只需要更改YOUR_JAR_PATH为你的jar包路径
    ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
    ExecStop=/bin/kill -s QUIT $MAINPID
    Restart=always
    StandOutput=syslog
    
    StandError=inherit
    
    [Install]
    WantedBy=multi-user.target
    

    整个简单的小demo,照着上面的复制,按需修改参数即可

    请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

  2. 重新加载 systemd

    systemctl daemon-reload
    
  3. 运行服务

    systemctl start demo
    
  4. 在系统启动时启动服务

    systemctl enable demo
    
  5. 您可以查看服务日志检查启动状态

    journalctl -n 50 -u demo
    

至此,开机自启动的服务我们便加载系统中了~