前言
工欲善其事必先利其器,操作 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