linux中配置redis开机自启应使用systemd方式,需确保redis-server已安装、配置文件路径正确、daemonize设为no,并创建/etc/systemd/system/redis.service服务单元文件,然后执行daemon-reload、enable、start及status验证。

Linux中配置Redis开机自启,核心是让系统在启动时自动运行redis-server并加载你的配置文件。推荐使用systemd方式,它稳定、标准、易于管理,适用于CentOS 7+/Rocky/AlmaLinux、Ubuntu 16.04+、Debian 8+等主流发行版。
确认Redis已正确安装并有配置文件
确保你已完成源码编译安装(如make install),且已有可用的redis.conf。常见路径为:
-
/usr/local/bin/redis-server(主程序) -
/etc/redis/redis.conf或/usr/local/redis/redis.conf(建议统一放到/etc/redis/下便于管理)
打开配置文件检查关键项:
-
daemonize no→ 必须保持no(systemd本身负责进程托管,设为yes反而会导致启动失败) -
protected-mode yes→ 生产环境建议设为no或配合bind使用 -
bind 127.0.0.1→ 如需远程访问,可改为bind 0.0.0.0,并务必设置requirepass -
dir /var/lib/redis→ 确保该目录存在且redis用户有读写权限:sudo mkdir -p /var/lib/redis && sudo chown redis:redis /var/lib/redis
创建systemd服务单元文件
执行以下命令新建服务定义:
sudo vim /etc/systemd/system/redis.service
填入内容(注意替换路径):
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] Type=simple User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown Restart=always RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target
说明:
-
User/Group:建议创建专用用户sudo adduser --system --group --no-create-home redis,提升安全性 -
Restart=always:确保异常退出后自动拉起 -
LimitNOFILE:避免高并发下文件描述符不足
启用并验证开机自启
依次执行:
sudo systemctl daemon-reload sudo systemctl enable redis.service sudo systemctl start redis.service sudo systemctl status redis.service
成功时应显示active (running),且Loaded行注明“enabled”。重启系统后再次运行systemctl status redis确认服务仍在运行。
其他方式简要说明
不推荐但偶见于旧教程的方式:
-
rc.local:在
/etc/rc.local末尾添加/usr/local/bin/redis-server /etc/redis/redis.conf &,但现代systemd系统默认不启用该机制,需手动开启且缺乏依赖管理和健康检查 - init.d脚本:仅适用于SysV init系统(如CentOS 6),当前主流发行版已淘汰
用systemd是最直接、可靠、符合当前Linux生态的做法。











