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】
3.1.2.wget工具下载redis-7.2.4.tar.gz
# 安装wget工具
yum -y install wget# 创建自己的redis文件夹
mkdir -p /redis/corecd /redis/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 /redis/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.重要的配置项
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
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
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