- 下载解压redis源码包
$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz
$ tar -xvf redis-6.2.6.tar.gz
- 编译redis源码
$ cd redis-6.2.6
$ make
- 编译完成后
redis-6.2.6/src
下会出现redis-server
、redis-cli
等文件
编译时可能出现的问题:
1、找不到make命令:使用sudo apt-get install -y make
安装make命令
2、执行make
出现pkg-config not found
错误:使用sudo apt-get install -y pkg-config
安装pkg-config
3、执行make
出现/bin/sh: cc:NOT FOUND
错误:使用apt-get install -y gcc automake autoconf libtool
安装gcc相关依赖
4、执行make
出现jemalloc/jemalloc.h not found
错误:由于之前make
编译错误时有残留文件,因此执行make distclean
进行清除残留安装文件
- 自动安装
$ cd redis-6.2.6
$ make install
- 手动配置,将src下编译好的redis二进制文件copy到一个默认的redis文件夹
$ sudo mkdir -p /mnt/redis/bin
$ cd redis-6.2.6/src
$ sudo cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /mnt/redis/bin/
$ sudo cp ../redis.conf /mnt/redis/bin
配置redis后台运行并开机自启动,
- 将
redis-6.2.6/util/redis_init_script
脚本文件copy至/etc/init.d/redis
文件中,并授权chmod a+x /etc/init.d/redis
,然后做以下修改
REDISPORT=6379
EXEC=/mnt/redis/bin/redis-server
CLIEXEC=/mnt/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
- 将
redis-6.2.6/redis.conf
文件copy至/etc/redis/6379.conf
文件中,缺少/etc/redis
目录时,手动创建一个即可,修改6379.conf
文件中的以下项
# 绑定地址
bind 0.0.0.0
# 端口,要与第一步中`redis`脚本文件中的`REDISPORT`一致
port 6379
# `yes`表示redis后台运行,默认是`no`
daemonize yes
# pidfile ,要与第一步中`redis`脚本文件中的`PIDFILE`一致
pidfile /var/run/redis_6379.pid
# 日志文件存放位置
logfile "/mnt/redis/logs/redis.log"
# 数据存放目录
dir /mnt/redis/data/
# 设置密码
requirepass 123456
-
执行命令
sudo update-rc.d -f redis defaults
将redis加入开机启动配置 -
执行命令
sudo service redis start
即可重启动redis服务,执行sudo service redis stop
即可关闭redis服务 -
提示,当设置密码后,需要修改
/etc/init.d/redis
脚本文件的stop
命令,加上-a 123456
,如下:
$CLIEXEC -p $REDISPORT -a 123456 shutdown