众所周知,在Centos 7系列的服务需要使用systemctl命令管理,那如何将自己的代码注册成服务嘞,是酱婶儿的,咱们先介绍一下:
1、在/usr/lib/systemd/system路径下边创建xxxxx.service文件(建议使用cp -a 命令复制一个现有文件)
2、修改文件内容
[Unit]
#服务描述
Description=xxxxx Service
#设置在某个服务启动后启动:这里为指网络和mysql服务启动后再启动本服务
After=network.target mysqld.service
[Service]
#后台运行的形式
Type=forking
#启动命令,执行该脚本
ExecStart=/xxxx/xxxx_start.sh
#重启命令,执行该脚本
ExecReload=/xxxx/xxxx_restart.sh
#停止命令,执行该脚本
ExecStop=/xxxx/xxxx_stop.sh
#启动失败时,执行重启命令
Restart=on-failure
PrivateTmp=true
[Install]
# 这里是启动级别
WantedBy=multi-user.target
详细的配置可以参考这篇非常棒的文章哦:https://www.cnblogs.com/wutao666/p/9781567.html
3、使用命令刷新一下服务
systemctl daemon-reload
好啦,现在就能使用systemctl愉快的控制自定义的服务啦
那么问题来了,坑是啥呢?
这样的:当时我严格按照这个步骤做完了一切准备,完事了就打算愉快的玩耍,可谁成想,开机了服务怎么也不能启动,然后各种输出日志排查(省略若干年)。。。
后来发现,我设置的服务是在网络服务启动之后,但是网络服务并没有设置成开机自启,,,
在这里主要是记录一下问题,同时也给未来要设置的小伙伴们提个醒,哈哈哈