Redis 安装避坑指南

Redis 安装避坑指南

大家都说 redis 安装是相当简单的,但是我发现还是有不少坑需要避免。作为写作小白,为了避免习惯性看到别人写的好的地方就直接抄过来,所以我选择按自己的理解一个字一个字敲出来,有错误还请指出。

环境:Linux 操作系统(CentOS)

安装方式:源码方式安装

文件夹的选择

对于我这种 Linux 小白,面对 Linux 复杂的文件系统,每次安装软件还得纠结到底应该安装在哪个目录,所以我觉得首先搞清楚放在哪个文件夹下比较合适。至于这么多文件夹具体有什么特殊含义,参考《鸟哥的 Linux 私房菜》,下面只描述我用到的目录的含义。

/usr (UNIX Software Resource) 该目录操作系统软件资源存放的地方

/usr/bin 绝大部分用户可使用命令放在这

/usr/local 系统管理员在本机安装自己下载的软件,建议安装到此目录,这样会比较便于管理

/usr/local/src 可将软件源码包放在 src 目录,也就是下载的 redis 安装包 (比如redis-4.0.11.tar.gz)

详细步骤

  1. $ cd /usr/local/src –进入源码放置的目录

  2. $ wget http://download.redis.io/releases/redis-4.0.11.tar.gz –通过 wget 方式下载压缩包

  3. $ tar -zxvf redis-4.0.11.tar.gz –解压安装包

  4. $ ln -s /usr/local/src/redis-4.0.11 /usr/local/redis –在 local目录下建立软连接,指向 redis-4.0.1

  5. $ cd /usr/local/redis 切换到 redis 目录

  6. $ make 编译(编译之前确保操作系统已经安装gcc,这个我还不懂,一般都已经安装好了)

  7. $ make install 安装

  8. $ redis-cli -v 检查是否安装成功,显示 redis 版本号

此过程中的注意点:

  • 第 2 步可以先把文件下载到自己 windows 系统,在通过文件传输工具传到 Linux 也是一样的,取决于网速或者个人习惯;

  • 第 4 步在 local 目录下建立软连接的目的相当于重命名,更方便,据说是安装软件的一种好习惯,具体其他作用还有待学习。

  • 第 6 步安装完成之后会发现 /usr/local/bin/ 下多了几个可执行文件,这几个都是 Redis 的命令,这样就可以在任何目录执行 redis 的命令了。不需要配置 PATH 环境变量,我个人觉得是所选择的安装目录原因,因为网上有些教程还需要配置环境变量,这样做就省去了一些麻烦。

  • 还没教我怎么启动就跑了?

详细步骤写完了,也显示安装成功了,你以为就安装好了?其实下面才是重点避坑的经验。

redis 自定义配置

  1. $ cd /usr/local/redis –进入 redis 目录可以看到有一个 redis.conf 文件,这是 redis 的自定义配置文件

  2. $ vim redis.conf –使用 vim 打开 redis 配置文件,还不清楚 vim 基本用法的就得先 Google 学习一下了

  3. bind 127.0.0.1 — 将这个配置注释掉,否则默认只能本地访问,无法放在服务器上供远程客户端连接

  4. requirepass yourpassword — 去掉注释,配置 redis 密码,这个相当重要,后面再解释

  5. protected-mode — 安全模式,改成 yes,如果是 no,表示不需要密码登陆

  6. 保存退出

上面相当重要的一点就是要设置密码,否则就很不安全,不安全!!!具体是什么情况呢,来了解一下。

密码是指客户端通过 redis-cli 命令登录时需要密码,不是启动服务时。

比如我用的是阿里云服务器,最近老是被黑客攻击,变成肉鸡,就是通过 redis 的端口(6379)入侵的,因为我之前没有设置密码。当然这不是唯一的原因,还有阿里云的安全组设置等等,都是请教别人才知道的,请教完之后还是云里雾里,但是能把问题解决就算好了。

redis 启动

  1. $ redis-server /usr/local/redis/redis.conf & — 加载自定义配置文件并且以守护进程的方式启动 redis 服务

  2. $ redis-cli -a password — 使用密码连接 redis 服务

  3. 127.0.0.1:6379> keys * — 验证是否能成功访问服务器的数据

这只是目前我能理解的并且比较好的启动方式,当然还有加各种参数的,还有待学习,先解释下上面的意思。

redis-server 就可以启动 redis 服务,但是使用默认配置启动,也就是我们修改的 redis.conf 中的内容不会加载进来。所以加上 redis.conf 配置文件的路径表示通过加载自定义配置文件方式启动。

最后一个参数是比较有意思的。如果我们启动 redis-server 之后,光标不会返回到命令带输入状态,而是 redis 服务启动的状态。这时候我们需要用 ctrl+c 切换到命令状态,此时如果没有加 & 参数,redis 服务会自动关闭。 & 参数表示以守护进程的方式启动 redis, 这样启动之后尽管放心做其他事就好了,服务一直在后台运行。

redis-cli 不加参数就可以连接 redis 服务器,但是并不能进行任何操作,会提示 (error) NOAUTH Authentication required. 表示需要进行权限认证。此时需要通过 $ auth password 进行认证。在连接时加上参数就省去了麻烦。

windows 客户端工具连接

RedisDesktopManager 是可以在 windows 上通过界面操作 redis 的软件,也就像 mysql 也有桌面工具 navicat ,还是通过命令行操作最好,有利于学习。

推荐一个最近感觉挺不错的 SSH(简单理解为连接远程服务器)工具:XShell,看着挺舒服。

总结

redis 的安装不复杂,只是有一些地方需要避免踩坑,在此记录下防止下次再出错。

写个安装步骤一张图都没有看着还挺累,主要是不喜欢贴图,太麻烦。

刚刚学习 redis,写得并不全面或者并不正确,欢迎一起交流。

i

发表评论

电子邮件地址不会被公开。 必填项已用*标注