Linux安装redis详细教程

Linux 安装 redis 详细教程

1.下载 redis 安装包

手动下载并解压

下载地址:download.redis.io/releases/

选择自己需要的 redis 版本,点击即可下载。

将下载的 redis 安装包上传到服务器上,并解压。(可以使用 sftp 工具进行上传)

使用以下命令进行解压:

bash 复制代码
 # 进入 redis 安装包上传目录,例如我上传到了 /home/redis
 cd /home/redis
 ​
 # 解压指令
 tar -zxvf redis-7.0.9.tar.gz

tar命令 可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

  • -x:表示告诉 tar 要执行解压操作,当你想要从一个 .tar 文件中提取文件和目录时,使用这个选项。
  • -v:这个选项表示详细模式。当使用这个选项时,tar 会在执行过程中输出详细的信息,包括正在处理的文件名。
  • -f:这个选项用来指定你想要操作的 .tar 文件。
  • -z:这个选项用于通过 gzip 压缩或解压文件,注意,-z 选项只适用于 gzip 压缩。如果你想用其他类型的压缩,如 bzip2(.tar.bz2),你需要使用 -j 选项;对于 xz 压缩(.tar.xz),则需要使用 -J 选项。

自动下载

arduino 复制代码
 wget https://download.redis.io/releases/redis-7.0.9.tar.gz

wget命令 用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
下载链接:(download.redis.io/releases/re...),也可以在上方的官网中查找你想下载的版本,右键复制下载链接即可。下载完成后后续解压操作与上面相同,此处不再赘述。

2.安装 gcc

由于 redisC 语言编写的,所以我们需要先安装 gcc,来进行 redis 安装包的编译工作,安装的命令如下:

bash 复制代码
 # 进入 redis 解压的目录内,例如我的解压目录为:/home/redis/redis-7.0.9
 cd /home/redis/redis-7.0.9
 ​
 # 安装命令工具
 yum -y install gcc

安装完成后,使用以下命令查看 gcc 版本:

复制代码
 gcc -v

3.编译与安装

编译

使用如下命令进行编译:

bash 复制代码
 # 进入 redis 解压的目录内,例如我的解压目录为:/home/redis/redis-7.0.9
 cd /home/redis/redis-7.0.9
 ​
 # 运行编译命令
 make

编译完成后,会在当前文件夹内生成一个 src 文件夹,如下图所示:

此时我们可以进入 src 目录,执行 make test 进行测试(以下测试步骤非必需的):

bash 复制代码
 make test

此时可能会提示错误:

css 复制代码
 You need tcl 8.5 or newer in order to run the Redis test

执行以下命令,安装 tcl 即可:

复制代码
 yum -y install tcl

执行完测试后,如下图所示即为成功:

安装

使用如下命令进行安装:

bash 复制代码
 # 进入 redis 解压的目录的 src 文件夹内,例如我的解压目录为:/home/redis/redis-7.0.9
 cd /home/redis/redis-7.0.9/src
 ​
 # 安装 redis 到指定目录内
 make install PREFIX=/usr/local/redis

4.将配置文件移动到安装目录下

命令如下:

bash 复制代码
 # 进入 redis 的解压包目录内,例如我的解压目录为:/home/redis/redis-7.0.9
 cd /home/redis/redis-7.0.9/
 ​
 # 在第三步编译与安装中,安装的目录下新建 etc 文件夹
 mkdir /usr/local/redis/etc
 ​
 # 移动 redis.conf 配置文件到上面创建的文件夹下
 mv redis.conf /usr/local/redis/etc/

此时,redis 的解压目录(例如我的解压目录为:/home/redis,你替换成自己的目录即可)就不会再用到了,可以将其删除,命令如下:

bash 复制代码
 rm -rf /home/redis/redis-7.0.9

执行此操作请谨慎,请确保你删除的目录正确!!!不删除也没关系,此步骤不是必需的

5.配置 redis 为后台启动

编辑 redis.conf 配置文件,命令如下(如果没有 vim 命令,使用 vi 命令也可以,或者使用 yum -y install vim 命令安装 vim

go 复制代码
 # 如果没有 `vim` 命令,使用 `vi` 命令也可以,或者使用 `yum -y install vim` 命令安装 `vim`
 vim /usr/local/redis/etc/redis.conf

daemonize no 改为 daemonize yes,如下图所示:

提示:在 vim 或者 vi 中,可以使用如下方式进行关键字查找:

normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim 会跳转到第一个匹配的字符串。按下n查找下一个,按下Shift + n查找上一个。

6.将 redis 加入到开机启动

命令如下:

go 复制代码
 # 如果没有 `vim` 命令,使用 `vi` 命令也可以,或者使用 `yum -y install vim` 命令安装 `vim`
 vim /etc/rc.local

在里面添加如下内容,意思就是开机调用这段开启redis的命令,注意修改为自己的安装目录

bash 复制代码
 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

7.将redis-cli,redis-server拷贝到bin下

此操作的作用为让 redis-cli 指令可以在任意目录下直接使用:

bash 复制代码
 cp /usr/local/redis/bin/redis-server /usr/local/bin/
 ​
 cp /usr/local/redis/bin/redis-cli /usr/local/bin/

8.修改默认的配置信息

使用 vim 编辑 redis.conf 配置文件:

bash 复制代码
 # 注意替换为你的 redis.conf 目录
 vim /usr/local/redis/etc/redis.conf

修改内容如下:

bash 复制代码
 bind 127.0.0.1 # 这行要注释掉,解除本地连接限制 
 protected-mode no # 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。 
 requirepass 123456 # 设置密码 
 appendonly yes # 持久化

9.启动与停止redis

命令如下:

shell 复制代码
 # 如果执行了上面的第 7 步将redis-cli,redis-server拷贝到bin下,则使用第二条命令就可以,比较简便一些
 # /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
 ​
 # /usr/local/redis/etc/redis.conf 修改为你自己的配置文件路径
 redis-server /usr/local/redis/etc/redis.conf
 ​
 # 停止 redis 服务,如果设置了密码需要添加 -a 123456
 redis-cli -a 123456 shutdown

10.测试连接

本地连接测试

命令如下:

bash 复制代码
 # 进入 redis 命令模式
 redis-cli
 ​
 # 输入密码,此处将 123456 修改为你设置的密码
 auth 123456

远程连接测试

我是使用 RDM 工具进行远程连接测试的,如果这一步遇到错误,请查看配置文件内是否将 bind 127.0.0.1 注释掉了,或者是否开启了防火墙,如果使用的是阿里云服务器,还需要开放安全组。

开放防火墙端口命令如下:

css 复制代码
 firewall-cmd --znotallow=public --add-port=6379/tcp --permanent
 firewall-cmd --reload
 ​
 # 查看系统所有开放的端口
 firewall-cmd --zone=public --list-ports

到此处就大功告成了,如果遇到其他错误欢迎留言。

相关推荐
Nejosi_念旧37 分钟前
解读 Go 中的 constraints包
后端·golang·go
风无雨41 分钟前
GO 启动 简单服务
开发语言·后端·golang
Hellyc41 分钟前
用户查询优惠券之缓存击穿
java·redis·缓存
小明的小名叫小明42 分钟前
Go从入门到精通(19)-协程(goroutine)与通道(channel)
后端·golang
斯普信专业组1 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
一只叫煤球的猫3 小时前
【🤣离谱整活】我写了一篇程序员掉进 Java 异世界的短篇小说
java·后端·程序员
鼠鼠我捏,要死了捏3 小时前
缓存穿透与击穿多方案对比与实践指南
redis·缓存·实践指南
你的人类朋友4 小时前
🫏光速入门cURL
前端·后端·程序员
aramae5 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
lifallen6 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法