自定义systemctl管理服务(redis)

自定义systemctl管理服务

1.准备工作

  • 编译安装redis(我的安装目录/usr/loacl/tool)
  • 将redis-server 和 redis-cli 移到环境变量目录(/usr/loacl/bin);给执行权限
  • cp redis.conf 到配置目录(/etc/redis/redis.conf) 或者 做软连接;(我选择前者)

注意: 对应的目录和权限,看其他需求

2.创建systemctl 服务

用service来管理服务的时候,是在/etc/init.d/目录中创建一个脚本文件,来管理服务的启动和停止,在systemctl中,也类似,文件目录有所不同,在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/usr/local/bin/redis-server -s reload
ExecStop=/usr/local/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
                                       
  • [Unit] 表示这是基础信息

    • Description 是描述
    • After 是在那个服务后面启动,一般是网络服务启动后启动
  • [Service] 表示这里是服务信息

    • ExecStart 是启动服务的命令
    • ExecReload 是重启服务的指令
    • ExecStop 是停止服务的指令
  • [Install] 表示这是是安装相关信息

    • WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

3.刷新配置

刚刚配置的systemctl要刷新配置才能生效
$ systemctl daemon-reload

4.设置开机使用

将redis服务设置为开机启用
$ systemctl enable redis.service
阅读 3.4k

推荐阅读
成长记录
用户专栏

记录一下自己学习到的

2 人关注
8 篇文章
专栏主页