Linux下安装 Redis7

发布时间:2024年01月24日

三、Linux下安装 Redis7【redis-7.2.4.tar.gz】

3.1.下载redis的安装包

官网下载:https://redis.io/download

历史版本:https://download.redis.io/releases/

3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1.2.wget工具下载redis-7.2.4.tar.gz

# 安装wget工具
yum -y install wget

# 创建自己的redis文件夹
mkdir -p /nginx/core

cd /nginx/core

# 自己复制的链接地址
wget https://download.redis.io/releases/redis-7.2.4.tar.gz

在这里插入图片描述

3.2.将安装包进行解压缩

tar -zxf redis-7.2.4.tar.gz

3.3.进入redis的安装包

cd redis-7.2.4

在这里插入图片描述

3.4.检查是否有gcc 环境

gcc -v
# 首先安装编译需要的环境依赖
yum install gcc-c++

在这里插入图片描述

3.5.编译和安装并指定安装目录 make install PREFIX=/usr/local/redis

# 如果安装redis出现错误执行以下命令,需要清理源码目录后再次执行编译
make distclean
# PREFIX关键字的作用是编译的时候用于指定程序存放的路径,指定了redis必须存在  /usr/local/redis  目录
#方便后续的卸载,直接rm -rf /usr/local/redis 即可删除redis
make PREFIX=/usr/local/redis install
# 可执行文件存放在 /usr/local/bin  目录
# 库文件会存放在  /usr/local/lib  目录
# 配置文件会存放在/usr/local/etc目录
# 其他的资源文件会存放在 usr/local/share 目录
# 不建议,不方便后续卸载
make install

在这里插入图片描述

3.5.拷贝redis配置文件redis.conf到/usr/local/redis目录中

# 查找redis.conf
find / -name redis.conf

# 将redis的源码目录中复制 redis.conf 到 redis 的安装目录
cp /nginx/core/redis-7.2.4/redis.conf /usr/local/redis

在这里插入图片描述

3.6.redis的bin目录文件作用介绍

在这里插入图片描述

  • 可执行命令在/usr/local/bin 目录
  • redis-benchmark: 性能测试工具,可以在自己机器运行,看看自己机器性能如何
  • redis-check-aof:修复有问题的 AOF 文件,rdb 和 aof 后面讲
  • redis-check-rdb:修复有问题的 dump.rdb 文件
  • redis-sentinel:Redis 集群使用
  • redis-server:Redis 服务器启动命令
  • redis-cli:客户端,操作入口

3.7.修改redis.conf配置文件

requirepass 123456 # 开启redis验证,修改为自己的密码
protected-mode no #需要远程连接,设置为no,取消保护模式
#bind 127.0.0.1 # 允许redis远程连接,必须注释掉(注释或者改为bind 0.0.0.0) 
port  6379      #redis的端口
daemonize yes   #后台启动redis设置为yes,开启守护进程模式
appendonly yes  #开启redis数据持久化

在这里插入图片描述

3.8.重要的配置项

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port指定 Redis 监听端口,默认端口为 6379
bind绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir指定本地数据库存放目录
requirepass设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

3.9.验证redis是否成功安装

cd /usr/local/redis/bin/

./redis-server -v

./redis-cli -v

在这里插入图片描述

3.10.运行时出现以下警告

123156:C 23 Jan 2024 22:22:22.467 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
在这里插入图片描述

  • 原因:当前系统不允许超量申请内存空间
  • 解决:让当前系统允许超量申请内存空间
# 编辑sysctl.conf文件
vim /etc/sysctl.conf

#添加以下行,修改配置启用内存过度分配
vm.overcommit_memory = 1

#执行命令"sysctl -p" 或 重启系统,使配置生效
sysctl -p
# 或者使更改生效,运行以下命令
sysctl vm.overcommit_memory=1

# 验证更改是否已生效
cat /proc/sys/vm/overcommit_memory
# 返回1,则表示内存过度分配已成功启用

在这里插入图片描述
在这里插入图片描述

3.11.启动redis

cd /usr/local/redis

#进入redis安装目录,执行下面命令启动redis服务
./bin/redis-server redis.conf

# 查看 Redis 服务器进程
ps -ef | grep redis

在这里插入图片描述

3.12.启动redis-cli测试redis

cd /usr/local/redis

#进入redis安装目录,执行下面命令启动redis-cli
./bin/redis-cli

在这里插入图片描述

3.13.关闭 Redis 服务器

./bin/redis-cli shutdown

# 查看 Redis 服务器进程
ps -ef | grep redis

# kill -9 进程的PID
kill -9 27320

在这里插入图片描述
在这里插入图片描述

四、将redis设置成系统服务

4.1.创建redis服务文件

vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis Server
After=network.target

[Service]
Type=forking
# 配置成自己的路径
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target
  • Description:服务描述
  • After:指定服务依赖的其他服务启动之后再启动
  • Type:指定服务的类型,这里设置为forking,表示服务以fork方式启动
  • ExecStart:指定服务的启动命令
  • ExecStop:指定服务的停止命令
  • Restart:指定服务在退出后是否自动重启
  • WantedBy:指定服务的启动级别

4.2.重新加载服务配置文件使之生效

# 重新加载服务配置文件
systemctl daemon-reload

4.3.服务操作命令

#启动redis服务
systemctl start redis

#停止redis服务
systemctl stop redis

#重新启动服务
systemctl restart redis

#查看服务当前状态
systemctl status redis

#设置开机自启动
systemctl enable redis

#停止开机自启动
systemctl disable redis

在这里插入图片描述

五、配置Redis环境变量

5.1.编辑环境变量配置文件

vim /etc/profile

5.2.文件末尾添加以下内容

# redis
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin/

在这里插入图片描述

5.3.保存并退出后,刷新配置信息

source /etc/profile

5.4.验证环境变量

redis-server -v
redis-cli -v

在这里插入图片描述
在这里插入图片描述

endl

文章来源:https://blog.csdn.net/qq_45740503/article/details/135788641
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。