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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了