我使用源代码编译并安装了最新版本的Redis在RHEL上

0. 前提 → 假设条件

2020年4月22日的时候
– RHEL7.6的AMI(有点旧,似乎8.1是最新版。)
– Redis5.0.8(本文撰写时点的最新版)

1. 启动 EC2 实例

1.1. 全球微处理器市场.

在东京地区搜索“RHEL 7.6”的AMI时,

由 Red Hat, Inc 提供的 RHEL-7.6_HVM_GA-20190128-x86_64-0-Hourly2-GP2
ami-00b95502a4d51a07e

因为可以找到它,所以选择它。

1.2. 实例类型

请适当选择t3.small规格。

1.3. 安全组

打开tcp/6379端口

2. 安装Redis

2.1. SSH连接

RHEL7.6 AMI的用户是ec2-user。
使用私钥私钥.pem进行ssh连接,命令如下:ssh -i private.pem ec2-user@[公共IP]。

2.2. 安装gcc。

请安装gcc,这是编译所需的最后一步。

完成了!

如果出现了这一点,就代表成功。

2.3. Redis下载

使用curl命令下载redis-5.0.8.tar.gz压缩文件,链接地址为http://download.redis.io/releases/redis-5.0.8.tar.gz。

如果存在redis-5.0.8.tar.gz文件,则成功。

2.4. 解压档案

解压 redis-5.0.8.tar.gz 文件: tar zxvf redis-5.0.8.tar.gz

如果redis-5.0.8目录存在,则成功。

2.5. 编译

进入文件夹redis-5.0.8,然后执行make命令。

zmalloc.h第50行的31列:致命错误:没有找到jemalloc/jemalloc.h文件

如果出现类似的错误,请参考下面的文章,首先执行`make distclean`,然后重新执行`make`。

以下是我尝试使用Redis时所做的笔记(参考):
https://qiita.com/A-gen/items/345c07d830205a7ea6cb

在make的尾部

提示:运行’make test’是个好主意;)
如果输出这段话,那就成功了。
但是,我试了一下’make test’,结果却出错了。

以下是一种方式的中文释义:二进制文件将被放置在src目录下。

3. 执行确认 (zhi2 xing2 que4 ren4)

3.1. 启动Redis服务器

通过运行src/redis-server &,启动Redis服务器。

3.2. 通过Redis CLI进行连接

源代码/redis-cli

【ec2-user@ip-172-30-1-243 redis-5.0.8】进入命令行界面
127.0.0.1:6379> 设置键名key1的值为value1
OK
127.0.0.1:6379> 获取键名key1的值
“value1”
127.0.0.1:6379> 关闭Redis服务
16077:M 22 Apr 2020 06:52:31.131 # 用户要求关闭…
16077:M 22 Apr 2020 06:52:31.131 * 在退出之前保存最终的RDB快照。
16077:M 22 Apr 2020 06:52:31.133 * 数据保存到磁盘
16077:M 22 Apr 2020 06:52:31.133 # Redis已准备好退出,再见…
未连接> 退出

4. 顺带说一下

试着执行make install

默认情况下,似乎安装在/usr/local/bin目录下。

[ec2-user@ip-172-30-1-243 redis-5.0.8]$ sudo make install
cd src && make install
make[1]: 进入目录 `/home/ec2-user/redis-5.0.8/src’

提示: 运行 ‘make test’ 是个好主意 😉

INSTALL 安装
INSTALL 安装
INSTALL 安装
INSTALL 安装
INSTALL 安装

make[1]: 离开目录 `/home/ec2-user/redis-5.0.8/src’
[ec2-user@ip-172-30-1-243 redis-5.0.8]$ which redis-server
/usr/local/bin/redis-server
[ec2-user@ip-172-30-1-243 redis-5.0.8]$ which redis-sentinel
/usr/local/bin/redis-sentinel