MacOs安装Redis并设置为开机、后台启动

前言

最近闲来无事,将自己的MBP系统重装里,导致里面原来安装的软件都需要重新安装,今天记录一下MacOs安装Redis并设置为开机启动、后台启动的步骤,安装过程略有波折,参考里几篇文章才搞定。

一、安装Redis

两种方式,我都尝试了,也都成功了,但第一种方式安装完后没有搞定开机自启动,所以又尝试了方法2:

1.去官网下载安装包手动编译、安装

1)下载redis

reids下载地址http://download.redis.io/releases,当前稳定版为redis-7.0.8.tar.gz

2)解压
复制代码
tar zxvf redis-7.0.8.tar.gz
3)复制到/usr/local/redis目录
复制代码
cp?redis-7.0.8?/usr/local/redis
4)编译redis
复制代码
sudo make
5)如果是第一次,系统会要求下载xcode,大概2分钟下载完成,继续安装
复制代码
sudo make install
6)至此安装成功,这时候千万不要启动Redis

因为没有配置路径,会出错,需要修改redis.conf的配置

我的redis.conf 在 /usr/local/redis-7.0.8目录下,不同版本或操作系统会稍有不同,大家可自行寻找。修改dir的路径:

7)启动redis

redis-server

此种方法可以启动成功。

2.使用HomeBrew安装

1)执行安装命令

复制代码
brew install redis

第一次可能需要下载一些依赖包,如果执行完没有安装成功,请再执行一次这个命令。

2)查看安装信息,看看安装到哪个目录去了。

复制代码
brew list redis

/usr/local/Cellar/redis/7.0.8/homebrew.mxcl.redis.plist这个文件比较关键,是我们设置开机自启动的关键。

二、设置开机自启动

通过前面的安装,我们在控制台执行redis-server就可以启动了,但有个问题,这样启动好后需要一直开着这个窗口,关机重启后,需要重新启动才行,所以接着往下看。

网上一般提到的开机自启动设置方式,需要自己手动新建.plist这么一个文件,但大家看到了,实际上使用brew的安装方式,这个文件已经生成好了,但我尝试直接用这个文件去设置自启动,失败了。

1.先查看这个文件中的内容

复制代码
vi /usr/local/Cellar/redis/7.0.8/homebrew.mxcl.redis.plist

复制一下我绿线画出来的部分,后面有用。

复制代码
<string>/usr/local/opt/redis/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>

提示下vi进去后的文本编辑方式:

i:进入编辑模式

esc:退出编辑模式

:q!:不保存退出

:wq:保存退出

2.设置为开机自启动

复制代码
sudo launchctl load /usr/local/Cellar/redis/7.0.8/homebrew.mxcl.redis.plist

很可惜,报错了

按报错信息去搜索,大部分都说是因为文件的权限不对,要sudochmod600为这个权限,我也试过了,依然不行。

下面是正确的方式:

1)创建.plist配置文件
复制代码
sudo vi /Library/LaunchDaemons/io.redis.redis-server.plist

注意,这里不要拷贝/usr/local/Cellar/redis/7.0.8/homebrew.mxcl.redis.plist这个文件,我开始耍小聪明,拷贝过来依然会报权限不足的问题,所以老老实实vi一个新文件出来。

2)将下面配置内容拷贝到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/opt/redis/bin/redis-server</string>
        <string>/usr/local/etc/redis.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
3)检查路径是否正确
复制代码
<string>/usr/local/opt/redis/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>

要与/usr/local/Cellar/redis/7.0.8/homebrew.mxcl.redis.plist文件中的路径是一样的。

4)保存退出
复制代码
:wq
5)执行开机自启动命令
复制代码
sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
6)验证是否生效

重启电脑,并执行redis-cli,显示为下图即成功

7)使用launchctl手动启动/关闭redis
  • 启动redis

    sudo launchctl start io.redis.redis-server

  • 关闭redis

    sudo launchctl stop io.redis.redis-server

8)可对上述命令进行简化(通过设置别名的方式)
  • 控制台输入cd,切换到用户目录

  • 编辑环境变量配置,将别名设置粘贴到配置文件

    vi .bash_profile

    alias redisstart='sudo launchctl start io.redis.redis-server'

    alias redisstop='sudo launchctl stop io.redis.redis-server'

    source ~/.bash_profile

    source ./.bash_profile

保存退出即可!

三、总结

两种安装方式都可以按文章设置为开机自启动!

安装完毕,容易遇到的坑,权限不足,编译错误等,注意即可,耐心解决问题。

over!

参考文档:

1.MacOS redis开机启动设置_tacity的博客-CSDN博客_mac redis 开机启动

2.macOS安装redis并设置服务自启动_小范馆的博客-CSDN博客_macos redis 启动

相关推荐
Lvan的前端笔记37 分钟前
python:Mac 系统 uv 完整安装+入门实战
python·macos·uv
pop_xiaoli3 小时前
【iOS】离屏渲染
macos·ios·objective-c·cocoa
云技纵横3 小时前
Redis 延迟双删还是读到脏数据?一次缓存一致性事故
redis·后端·面试
AskHarries5 小时前
Redis 应该什么时候上
redis
桑榆肖物5 小时前
在 .NET MAUI 里接入 PP-OCRv6 文本检测实现查找并点击
数据库·redis·.net·maui
手握风云-5 小时前
Redis:不只是缓存那么简单(十四)
redis·缓存
ffqws_14 小时前
Redis 分布式锁:基于 Redisson 的实现与面试高频问答
redis·分布式·面试
Leighteen1 天前
Redis与MySQL双写一致性:从问题根源到工程落地
数据库·redis·mysql
手握风云-1 天前
Redis:不只是缓存那么简单(十五)
数据库·redis·缓存
名字还没想好☜1 天前
用 Redis + Redisson 实现分布式锁:从踩坑到生产可用
java·redis·分布式·junit·分布式锁·redisson