概述
装了redis有一段时间了,每次运行的时候都需要手动在命令行里启动redis,而且窗口不能关闭,感觉很麻烦,所以就想把redis设置为开机启动。由于google打不开(伟大的GFW啊),所以百度了几篇文章,照着教程一步一步做还是没有成功,怪自己太笨了。
这两天自己搭建了一个VPN,又能用google了,所以把这个问题解决了下,现在redis终于能开机启动了,High一下。
要设置redis开机启动,这里我使用的是mac的launchd系统,将redis作为用户守护(User Daemon)进程运行在后台。简单来说,用户守护进程是作为系统的一部分运行在后台的非图形化程序。用户守护进程是不和用户账户关联的。如果仅仅想对某个特定的用户设置redis开机启动,那就需要使用用户代理(User Agent)了(这个我也不会,大家自己探索吧,到时候别忘了告诉我下)。
具体步骤
创建一个plist文件
首先我们需要在/Library/LaunchDaemons目录下创建一个plist文件,使用如下命令:
复制代码代码如下:
sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist
将下面的内容粘贴到上一条命令创建的文件里
复制代码代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
粘贴完以后,我们需要对上面的内容做两处修改:一个是“redis-server”的路径,这里需要改为你自己的安装路径(可以使用”which redis-server”命令来查看具体的路径)。还有一个就是redis配置文件的路径,这个是可选的,如果没有使用配置文件那么就把第二个删除,如果使用了配置文件,一定要改为正确的路径。
将plist文件载入到launchd
编辑完plist文件以后,我们需要将该文件载入到launchd里,使用launchctl命令,具体命令如下:
复制代码代码如下:
sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
重启以后,redis就可以开机启动了。如果不想重新启动,也可以使用如下命令:
复制代码代码如下:
sudo launchctl start io.redis.redis-server
关闭redis
如果想关闭redis的话,使用如下命令:
复制代码代码如下:
sudo launchctl stop io.redis.redis-server
设置别名
为了使用方便,我们可以给redis的开启和关闭命令设置别名:
复制代码代码如下:
alias redisstart='sudo launchctl start io.redis.redis-server'
alias redisstop='sudo launchctl stop io.redis.redis-server'
总结
废了点功夫,终于能让redis开机启动了,^_^。大家如果遇到什么错误,可以到控制台看下redis的日志。