Centos设置Redis自启动(Systemd)

前言

在生产环境中,我们在设置Redis服务自启动时有多种方式,这里采用Systemd管理方式进行设置Redis,
Systemd管理起centos7版本中使用了systemd,systemd同时兼容service,对应的命令就是systemctl。Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度,使用systemd的目的是获取更快的启动速度。为了减少系统启动时间,systemd的目标是
尽可能启动较少的进程
尽可能将更多进程并发启动
可以去查看系统进程的pid,initd的pid是0,如果支持systemd的系统的systemd进程pid为1
systemd把不同的资源称为Unit
每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit
存放目录:/etc/systemd/system 和 /usr/lib/systemd/system
对于有先后依赖关系的任务
systemctl融合service和chkconfig功能

步骤

创建服务启动文件,其中%i为占位符变量,redis@7001.service中@符号后的7001参数会替换该变量(这里我的redis配置文件放到了redis目录下端口文件夹下)

点击查看代码
cat > /etc/systemd/system/redis@.service << EOF
[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
User=redis
Group=redis
Type=notify
ExecStart=/usr/local/bin/redis-server /usr/lcoal/redis609/%i/redis%i.conf --daemonize no --supervised systemd
ExecStop=/usr/local/bin/redis-cli -p %i shutdown
LimitNOFILE=10240
TimeoutStartSec=90s
TimeoutStopSec=90s
Restart=always

[Install]
WantedBy=multi-user.target
EOF

创建完成后启动redis服务
重新加载某个服务的配置⽂件,如果新安装了⼀个服务,归属于 systemctl
管理,要是新服务的服务程序配置⽂件⽣效,需重新加载。
systemctl daemon-reload systemctl enable --now redis@{7001,7002}.service

posted @ 2022-05-19 14:42  马永猛  阅读(959)  评论(0编辑  收藏  举报