动Redis开机自启怎么弄,省时间又方便,redis启动自动搞定了
- 问答
- 2025-12-31 08:38:39
- 3
用systemd来搞(推荐,现在的主流系统基本都这么玩)
这个方法最适合现在大多数的Linux系统,比如Ubuntu 16.04以后、CentOS 7以后,systemd是系统的大管家,让它来管Redis的启动,最规范也最稳当。
你得找到Redis自带的一个服务文件模板,Redis在编译安装的时候,通常会在源码包里放一个叫 redis.service 的文件,你找找看,一般在 utils 或者 contrib 目录下,你的Redis源码包解压后在 /opt/redis-6.2.6,那这个文件路径可能就是 /opt/redis-6.2.6/utils/redis.service。
找到这个文件后,我们把它复制到systemd的地盘里,打开你的终端,输入命令(具体路径换成你自己的):
sudo cp /opt/redis-6.2.6/utils/redis.service /etc/systemd/system/
复制过去之后,先别急着启动,得看看这个文件里的配置合不合适,用编辑器打开它看看:
sudo vim /etc/systemd/system/redis.service
里面有好几行关键的东西,你得检查一下:
ExecStart:这一行是告诉systemd怎么启动Redis的,默认可能是redis-server /path/to/redis.conf,你得确认这个/path/to/redis.conf是不是你实际使用的Redis配置文件路径,如果你安装的时候配置文件放别的地方了(比如常见的/etc/redis/6379.conf),就把这里改掉,不改的话,它可能找不到配置。PIDFile:这个是记录Redis进程ID的文件位置,一般配置文件中设置了就行,这里保持和配置文件里pidfile的设定一致就好。User和Group:用哪个用户和用户组来运行Redis,为了安全,最好不要用root,可以改成redis或者其他专门的用户,如果你还没创建这个用户,可以用命令sudo useradd -r -s /bin/false redis先创建一个系统用户。
检查修改无误后,保存退出。
因为可能是新复制的文件,或者你修改了配置文件路径,得让systemd重新加载一下它认识的服务列表:
sudo systemctl daemon-reload
你就可以尝试用systemd启动Redis了:
sudo systemctl start redis
启动后,别忘了一眼,看它是不是真的在欢快地跑着:
sudo systemctl status redis
如果看到是 active (running) 的字样,那就说明启动成功了。
就是实现开机自启的关键一步了,输入命令:
sudo systemctl enable redis
这个命令的作用是在系统的启动流程里创建一个符号链接,告诉系统:“开机的时候,记得把Redis服务也给我拉起来”,执行完后,你会看到类似 Created symlink ... 的提示,这就表示成功了。
以后,你的Redis就会随着电脑开机自己启动了,想关掉它?用 sudo systemctl stop redis,想禁止它开机自启?用 sudo systemctl disable redis。
老系统的法子(用init.d脚本)
如果你的系统比较老,还在用SysV Init(比如CentOS 6或更早的版本),那上面那套就不管用了,得用init.d的方式。
幸运的是,Redis源码包里通常也照顾到了老系统,在同一个 utils 目录下,有个叫 redis_init_script 的脚本,把它复制到init.d的目录下:
sudo cp /opt/redis-6.2.6/utils/redis_init_script /etc/init.d/redis_6379
注意,这里的文件名 redis_6379,6379是Redis的默认端口号,这样命名是为了区分可能存在的多个Redis实例。
复制过去后,这个脚本可能没有执行权限,得给它加上:
sudo chmod +x /etc/init.d/redis_6379
同样,你需要编辑这个脚本,检查里面的关键变量,REDISPORT(端口号,默认6379,一般不用改)、EXEC(redis-server可执行文件的路径,/usr/local/bin/redis-server)、CLIEXEC(redis-cli的路径)、PIDFILE(pid文件路径)、CONF(配置文件路径,这个很重要,/etc/redis/6379.conf),确保这些路径都和你实际的安装路径对得上。
你可以试试这个脚本能不能正常启动Redis:
sudo /etc/init.d/redis_6379 start
在老系统上,设置开机自启的命令是 chkconfig,把这个服务加到启动项里:
sudo chkconfig --add redis_6379 sudo chkconfig redis_6379 on
这样,开机的时候,系统也会自动执行这个脚本启动Redis了。
最偷懒的法子(往rc.local里加一行)
这个方法最直接,但也最不“优雅”,算是个快速解决问题的野路子,适合临时用用,或者对系统服务管理要求不高的环境。
它的原理很简单:系统在启动的最后,会执行一个叫 /etc/rc.local 的脚本(如果这个文件存在且有执行权限),你只需要把启动Redis的命令写进这个文件就行了。
先用编辑器打开这个文件:
sudo vim /etc/rc.local
在文件末尾,exit 0 这一行之前,加上启动Redis的命令,命令的写法要确保在任何用户环境下都能正确找到redis-server,所以最好写全路径,为了避免启动脚本卡住,最好在命令末尾加上 & 让它后台运行。
/usr/local/bin/redis-server /etc/redis/6379.conf &
保存退出,要确保 /etc/rc.local 这个文件本身是有执行权限的:
sudo chmod +x /etc/rc.local
这样下次开机时,系统就会自动执行你加进去的那行命令来启动Redis了。
- 首选方法一(systemd):规矩、靠谱、好管理,是现代Linux系统的标准做法。
- 万不得已用方法二(init.d):如果你的系统太老,不支持systemd,那就用这个。
- 临时凑合用方法三(rc.local):图快,不想了解服务管理,只是简单粗暴地想让它开机跑起来,可以用这个,但长远看不如方法一专业。
根据你的情况和喜好,选一种就行,基本上照着步骤做,Redis开机自启就搞定了。

本文由革姣丽于2025-12-31发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/71783.html
