将Java/Python程序注册成Linux系统服务

背景

我们平常会写一些自己的程序,把它部署在linux操作系统上是大多数人的选择。但是一旦我们的服务器重启或者日志文件过大就不便于管理。

如果我们把我们的程序注册成systemd系统服务,把服务重启和日志交给Linux系统去做的话,这样会方便和很多,接下来我会以注册一个Java程序为Linux系统服务为例,演示将我们自己的程序注册成系统服务的步骤。

准备工作

要将我们的java程序注册成系统服务,我们需要准备:

  • 程序Jar包
  • 编写.service文件
  • 设置开机自启、使用systemctl管理服务

在准备好我们的程序包之后,我们需要cd /etc/systemd/system目录下编写服务文件,下面我给出我的英语学习后端服务english-learn.service服务文件,仅供参考:

[Unit]
Description=english learn backend service
After=syslog.target network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/java/jdk1.8.0_351/bin/java -jar /opt/english-learn/english-learn-backend-1.0-SNAPSHOT.jar

[Install]
WantedBy=multi-user.target

/etc/systemd/system目录可以理解为是Linux操作系统留给我们的自定义服务声明的地方。.service中我们只需要修改其中的ExecStart配置就可以直接使用了,把程序启动命令和程序包路径修改为我们自己的。

服务管理

在编写完成/etc/systemd/system/english-learn.service后,我们在/etc/systemd/system/目录下重载系统服务:

systemctl daemon-reload

允许服务开机自启:

systemctl enable english-learn

常用命令

执行完服务管理操作后,我们的Jar程序就纳入到系统服务了,我们可以使用systemctl命令去管理服务,下面列出了常用命令:

启动服务:

systemctl start english-learn

查看服务状态:

systemctl status english-learn

停止服务:

systemctl stop english-learn

查看服务日志:

journalctl -xeu english-learn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值