前言

  工欲善其事必先利其器,操作 Linux 服务器得有一个用着舒服的客户端,这里推荐使用 MobaXterm

  MobaXterm 下载地址:https://mobaxterm.mobatek.net/download.html

  Redis 下载地址:https://redis.io/download

传输

  1. 打开下载好的 MobaXterm,使用 SSH 连接方式

  2. 连接成功后默认到 root 目录

  3. MobaXterm 左边是目录,在左边目录的最底部,有个选择框(Follow terminal folder)把它勾选上。

      勾选上它后,目录就会跟着你的命令动态发生变化

  4. 输入命令 cd /usr/local/ -> 进入目录

  5. 输入命令 mkdir -p redis/init -> 新建多级文件夹

  6. 输入命令 cd redis/init -> 进入目录

  7. 打开下载到本地的 Redis(redis-4.0.14.tar.gz)文件夹,把 Redis 拖拽到 MobaXterm 左边目录中

  8. 传输需要一点点时间,也可以在 MobaXterm 左边目录底部看到传输进度

安装环境

  1. 输入命令 yum install gcc-c++ -> 安装 gcc 的环境(注:安装途中会询问是否 ok,输入 y )

安装 Redis

  1. 输入命令 tar zxvf redis ,然后按一下 Tab 自动补全剩余名称;回车

  2. 输入命令 cd redis ,然后按一下 Tab 自动补全剩余名称;回车

  3. 输入命令 make -> 编译

  4. 输入命令 make install PREFIX=/usr/local/redis -> 安装到指定路径

启动停止

  1. 输入命令 cd /usr/local/redis/bin/ -> 进入到 Redis 启动目录

  2. 输入命令 ./redis-server -> 启动 Redis,启动成功后可以看到 Redis 的版本,端口等等信息

  3. ctrl + c -> 停止 Redis

注:此时 Redis 如果使用 ./redis-server 方式启动,在本地项目直接连接服务器上的 Redis时会报错

io.lettuce.core.RedisConnectionException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients...

配置

在服务器上的 Redis 都不会用上面的方式启动(./redis-server),一般会在启动时带上 redis.conf 配置文件

① 在 redis.conf 里面配置后台启动

② 在 redis.conf 里面配置连接密码

③ 在 redis.conf 里面配置绑定的 ip

  1. 输入命令 cd /usr/local/redis/bin/ -> 进入到 Redis 启动目录

  2. 输入命令 cp /usr/local/redis/init/redis-4.0.14/redis.conf /usr/local/redis/bin/ -> 复制 Redis 解压

      目录中的 redis.conf 文件到 Redis 启动目录,注意更换你的 Redis 版本

  3. 文件内容太长了,这里我直接双击打开 redis.conf 文件,这样的话修改方便

  4. ctrl + F 查找 daemonize no,把 no 更改为 yes -> 后台启动

  5. ctrl + F 查找 requirepass foobared

  6. 紧接着下面写一行 requirepass your password(your password自行更改为你自己的密码)。

      特别注意要顶格写 -> 连接密码

  7. ctrl + F 查找 bind 127.0.0.1,一共有两处,把第二处的 bind 127.0.0.1 注释 -> 外网可访问

  8. ctrl + s 保存,点击 Yes to all

  9. 输入命令 ./redis-server redis.conf -> 启动 Redis

 10. 此时因为是后台启动的 Redis,所以想停止 Redis 就得停止进程

 11. 输入命令 ps -aux | grep redis -> 查看 Redis 进程

 12. 输入命令 kill pid -> 停止进程,pid 为当前查看到的 Redis 进程 ID,从左往右第二个即为 PID

Redis 有两种持久化方案

① rdb -> 优点:存取数据速度快(内存) / 缺点:不能保证数据完整性

② aof -> 优点:可以保证数据的完整性 / 缺点:存取慢(硬盘)

两种持久化方案对应两个文件

① rdb -> dump.rdb

② aof -> appendonly.aof

为什么说 rdb 持久化方案不能保证数据完整性

因为 rdb 持久化方案是先存于内存中,触发一定条件后,才存到硬盘

为什么说 aof 持久化方案存取慢

因为 aof 持久化方案读写是直接操作的硬盘

Redis 默认持久化方案为 rdb。接下来把它更改为 aof

  1. 输入命令 cd /usr/local/redis/bin/ -> 进入到 Redis 启动目录

  2. 文件内容太长了,这里我直接双击打开 redis.conf 文件,这样的话修改方便

  3. ctrl + F 查找 appendonly no

  4. 把 no 更改为 yes(注意中间空格不要删掉了)

  5. 如果下面的 'appendfilename "appendonly.aof"' 被注释了,那么就去掉注释(当前 4.0.14 版本没有被注释)

  6. ctrl + s 保存,点击 Yes to all

  7. 输入命令 ./redis-server redis.conf -> 启动 Redis(如果 Redis 已经是启动状态,那么先 kill 再启动)

安全组

 注:如果服务器是在阿里云租用的需要设置安全组

 1. 登录到阿里云

  2. 进入到 '云服务器 ECS' 控制台

  3. 左侧栏中选择 '实例'

  4. 进入实例详情,点击左侧栏中 '本实例安全组'

  5. 点击安全组中的 '配置规则'

  6. 点击 '添加安全组规则' 按钮

  7. 配置 6379 端口

防火墙

注:如果服务器是在阿里云租用的需要开启防火墙。服务器是默认不开启防火墙的,感觉不安全

  1. 输入命令 systemctl status firewalld -> 查看防火墙状态

  2. 输入命令 systemctl start firewalld -> 开启防火墙

  3. 如果你不想开防火墙的话,那就输入命令 systemctl stop firewalld -> 关闭防火墙

  4. 输入命令 systemctl restart firewalld.service -> 重启防火墙

端口

注:端口操作需要在开启防火墙的情况下才能执行成功。如下两条命令只需要执行一个即可

  1. 输入命令 firewall-cmd --permanent --zone=public --add-port=6379/tcp -> 永久开放 6379 端口

  2. 输入命令 firewall-cmd --zone=public --add-port=6379/tcp -> 临时开放 6379 端口


 

希望能够帮助到你

over