Linux下安装 Redis7

Linux下安装 Redis7

  • 三、Linux下安装 Redis7【redis-7.2.4.tar.gz】
    • 3.1.下载redis的安装包
      • 3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】
      • 3.1.2.wget工具下载redis-7.2.4.tar.gz
    • 3.2.将安装包进行解压缩
    • 3.3.进入redis的安装包
    • 3.4.检查是否有gcc 环境
    • 3.5.编译和安装并指定安装目录 make install PREFIX=/usr/local/redis
    • 3.5.拷贝redis配置文件`redis.conf`到/usr/local/redis目录中
    • 3.6.redis的bin目录文件作用介绍
    • 3.7.修改redis.conf配置文件
    • 3.8.重要的配置项
    • 3.9.验证redis是否成功安装
    • 3.10.运行时出现以下警告
    • 3.11.启动redis
    • 3.12.启动redis-cli测试redis
    • 3.13.关闭 Redis 服务器
  • 四、将redis设置成系统服务
    • 4.1.创建redis服务文件
    • 4.2.重新加载服务配置文件使之生效
    • 4.3.服务操作命令
  • 五、配置Redis环境变量
    • 5.1.编辑环境变量配置文件
    • 5.2.文件末尾添加以下内容
    • 5.3.保存并退出后,刷新配置信息
    • 5.4.验证环境变量
  • endl

三、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】

Linux下安装 Redis7_第1张图片
Linux下安装 Redis7_第2张图片

Linux下安装 Redis7_第3张图片
Linux下安装 Redis7_第4张图片

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

# 安装wget工具
yum -y install wget

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

cd /redis/core

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

Linux下安装 Redis7_第5张图片

3.2.将安装包进行解压缩

tar -zxf redis-7.2.4.tar.gz

3.3.进入redis的安装包

cd redis-7.2.4

Linux下安装 Redis7_第6张图片

3.4.检查是否有gcc 环境

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

Linux下安装 Redis7_第7张图片

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

Linux下安装 Redis7_第8张图片

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

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

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

Linux下安装 Redis7_第9张图片

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

Linux下安装 Redis7_第10张图片

  • 可执行命令在/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数据持久化

Linux下安装 Redis7_第11张图片

3.8.重要的配置项

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

3.9.验证redis是否成功安装

cd /usr/local/redis/bin/

./redis-server -v

./redis-cli -v

Linux下安装 Redis7_第12张图片

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,则表示内存过度分配已成功启用

Linux下安装 Redis7_第13张图片
Linux下安装 Redis7_第14张图片

3.11.启动redis

cd /usr/local/redis

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

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

Linux下安装 Redis7_第15张图片

3.12.启动redis-cli测试redis

cd /usr/local/redis

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

Linux下安装 Redis7_第16张图片

3.13.关闭 Redis 服务器

./bin/redis-cli shutdown

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

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

Linux下安装 Redis7_第17张图片
Linux下安装 Redis7_第18张图片

四、将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

Linux下安装 Redis7_第19张图片

五、配置Redis环境变量

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

vim /etc/profile

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

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

Linux下安装 Redis7_第20张图片

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

source /etc/profile

5.4.验证环境变量

redis-server -v
redis-cli -v

Linux下安装 Redis7_第21张图片
Linux下安装 Redis7_第22张图片

endl

你可能感兴趣的:(redis,linux,redis)