Linux 安装 Redis
一、官网下载
- 访问 redis官网地址
- 选择 Products --> Downloads
- 进入下载页,滑动到最下面,选择 Additional download options -> Install from source
- 选择
release page
进入下载目录
Tip
https://download.redis.io/releases/
下载目录,访问有点不稳定,翻墙访问比较快
- 下载 redis - 6.2.10.tar.gz
二、Linux 安装
2.1 安装部署
- 也可以使用 wget 命令进行下载
wget https://download.redis.io/releases/redis-6.2.10.tar.gz
[root@linux-1 software]# wget https://download.redis.io/releases/redis-6.2.10.tar.gz
- 使用
tar
命令解压
将之前下载到本地的 tar.gz 包使用 xftp工具上传到服务器,或者 rz 命令上传到服务器
# 解压到 /usr/local 目录下
[root@linux-1 software]# tar -zxvf redis-6.2.10.tar.gz -C /usr/local
# 进入 /usr/local/redis-6.2.10 目录下
[root@iZbp1dfulgjy4kd3ev4y7bZ redis-6.2.10]# ls
00-RELEASENOTES CONTRIBUTING INSTALL README.md runtest-cluster sentinel.conf TLS.md
BUGS COPYING Makefile redis.conf runtest-moduleapi src utils
CONDUCT deps MANIFESTO runtest runtest-sentinel tests
- 使用
make
命令进行编译
# 使用 make 命令进行编译将.c文件编译成.o文件
[root@linux-1 redis-6.2.10]# make
# 出现错误1
cd hiredis && make static
make[3]: Entering directory `/usr/local/redis-6.2.10/deps/hiredis'
cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb alloc.c
make[3]: cc: Command not found
make[3]: *** [alloc.o] Error 127
make[3]: Leaving directory `/usr/local/redis-6.2.10/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/usr/local/redis-6.2.10/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/usr/local/redis-6.2.10/src'
make: *** [all] Error 2
# 解决方案: 安装依赖环境
[root@linux-1 redis-6.2.10]# yum -y install gcc-c++
# 出现错误2
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
# 解决方案:执行 make MALLOC=libc
[root@linux-1 redis-6.2.10] make MALLOC=libc
# 重新执行 make 如果没有报错编译成功
[root@linux-1 redis-6.2.10] make
2.2 初始化redis
- 创建 redis 安装目录
[root@linux-1 local]# mkdir -p /usr/local/redis
- 创建 bin 目录
# 进入 /usr/local/redis 目录下
[root@linux-1 local]# cd /usr/local/redis
# 创建bin 目录
[root@linux-1 local]# mkdir bin
- 复制 redis 的几个可执行文件
将之前编译的生成的
/usr/local/redis-6.2.10/src
路径下的可执行文件复制到/usr/local/redis/bin
目录下
# 进入 /redis-6.2.10/src 目录下
[root@linux-1 local]# cd /usr/local/redis-6.2.10/src
# 将几个可执行文件 复制到 /usr/local/redis/bin/ 目录下
[root@linux-1 src]# cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server /usr/local/redis/bin/
# 进入 /usr/local/redis/bin/
[root@linux-1 bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
# redis-benchmark ----性能测试工具
# redis-check-aof ----AOF文件修复工具
# redis-check-rdb ----RDB文件检查工具(快照持久化文件)
# redis-cli(client) ----命令行客户端
# redis-server ----redis服务器启动命令
- 创建日志文件目录
[root@linux-1 redis]# mkdir -p /usr/local/redis/logs
[root@linux-1 redis]# ls
bin logs
- 创建数据保存目录
[root@linux-1 redis]# mkdir -p /data/redis
- 拷贝配置文件
# 在当前目录下新增文件夹 conf
[root@linux-1 redis]# mkdir -p /usr/local/redis/conf
[root@linux-1 redis]# ls
bin conf logs
# 将安装目录下的redis.conf 拷贝到 /usr/local/redis/conf 下
[root@linux-1 redis]# cp /usr/local/redis-6.2.12/redis.conf /usr/local/redis/conf/
[root@linux-1 conf]# ls
redis.conf
- 修改
redis.conf
配置文件
# 1.允许所有ip访问
bind 127.0.0.1 -::1 修改为 bind 0.0.0.0
# 2.启用后台启动
daemonize on 修改为 daemonize yes
# 如果使用后台启动需要指定pid文件
pidfile /var/run/redis_6379.pid #如果以后台方式运行,我们需要指定一个pid文件
# 3.修改日志文件目录
logfile "" 修改为 logfile /usr/local/redis/logs/redis.log
# 4.修改数据目录
dir ./ 修改为 dir /data/redis
# 5.设置redis密码
requirepass redis212365
# 6.redis数据持久化[可选配置]
appendfsync always
- 启动redis服务
# 进入redis bin目录下通过redis.conf文件启动redis服务
[root@linux-1 bin]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
# 使用ps命令查询启动是否成功
[root@linux-1 bin]# ps -ef | grep redis
root 427 1 0 20:52 ? 00:00:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root 437 7593 0 20:52 pts/1 00:00:00 grep --color=auto redis
- 客户端登录
# 进入 /usr/local/redis/bin 目录下
[root@linux-1 bin]# ./redis-cli
127.0.0.1:6379> select 3
(error) NOAUTH Authentication required.
# 需要密码登录 (使用redis.conf 配置的密码)
127.0.0.1:6379> auth redis213465
OK
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]>
- 关闭redis服务
127.0.0.1:6379> shutdown
not connected> exit
[root@linux-1 bin]# ps -ef | grep redis
root 11458 7078 0 09:39 pts/0 00:00:00 grep --color=auto redis
[root@linux-1 bin]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
Tip
如果删除了原有的 /data/redis/ 目录下的 dump.rdb
使用客户端登录,执行save命令即可重新生成rdb文件
[root@iZgw048qx0901kl1ixolbxZ bin]# ./redis-cli
127.0.0.1:6379> auth redis213465
OK
127.0.0.1:6379> config get dir
1) "dir"
2) "/data/redis"
127.0.0.1:6379> save
redis 相关目录
安装目录:/usr/local/redis
命令目录:/usr/local/redis/bin
配置目录:/usr/local/redis/conf
进程文件:/var/run/redis_6379.pid
密码: redis213465