Linux操作系统的服务自启动配置

目的

手把手教会如何在Linux操作系统里头将java应用程序做成服务随着系统启动自启动。
下面将以halo开源博客服务启动为例。

流程

1、以root账户登录linux操作系统。并执行下面语句,获取halo.service的参数配置。

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

2、修改 halo.service

vim /etc/systemd/system/halo.service

3、修改配置
YOUR_JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。
USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER。

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=USER
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

4、重新加载 systemd

systemctl daemon-reload

5、将服务启动

systemctl start halo

6、在系统启动时启动服务

systemctl enable halo

7、查看服务日志检查启动状态

journalctl -n 20 -u halo

注意事项

java指定具体端口

[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -Dserver.port=80 -jar /usr/java/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

评论

公众号:mumuser

企鹅群:932154986

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×