下载redis-4.0.6.tar.gz(当前最新稳定版)
地址:http://download.redis.io/releases/
安装目录:usr/local/redis
安装包下载目录:/opt/redis
安装命令如下
mkdir /usr/local/redis
cd /opt
tar zxvf redis-4.0.6.tar.gz
cd redis-4.0.6.tar.gz
make PREFIX=/usr/local/redis install
make失败时查看时候安装gcc环境
如未安装可通过
yum install gcc
将Redis启动脚本添加至linux系统init.d启动目录中
cp /opt/redis-4.0.6/utils/redis_init_script /etc/init.d/reids
此命令将redis_init_script复制至init.d目录下并重命名为redis
添加注册服务
chkconfig --add redis
这时会报错 redis don't support chkconfig
修改redis脚本
vim /etc/init.d/redis
在第二行增加 #chkconfig:2345 80 90
将以下两处地址更换为你的安装路径
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
redis开启的命令,以后台运行的方式执行
$EXEC $CONF &
&,即是将服务转至后台运行的意思,否则会导致redis占据前台无法执行其他命令
mkdir /etc/redis
cp /opt/redis-4.0.6/redis.conf /etc/redis/6379.conf
这时可注册redis服务
chkconfig --add redis
启动服务 service redis start
添加redis命令至环境变量中
vim /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
source /etc/profile
启用认证并设置密码
vim /etc/redis/6379.conf
找到requirepass字段 去掉#号后可在后面添加密码
requirepass -Tq8UA7zredis
密码生效需重启计算机
进入redis
redis-cli验证redis启动情况
开启远程访问
redis默认不开启远程认证
1>修改6379.conf配置文件注释掉bind 127.0.0.1 开启远程访问 (应用bind可指定固定IP远程访问)
2>默认不是守护进程方式运行,这里可以修改
daemonize yes
3>禁用保护模式
protected-mode no
Redis服务器设置密码后,使用service redis stop 会出现以下信息:
执行service redis stop
Stopping ...
OK
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
出现这样的错误信息,redis 这时是没有停止服务的。
修改vim /etc/init.d/redis
$CLIEXEC -a "password" -p $REDISPORT shutdown
password为你设置的密码
主从配置
10 .36.2.111 6379 主
10.36.2.112 6379
两台安装redis服务的主机
主不需要配置
从 redis.conf配置修改
#配置主节点信息
slaveof 10.36.2.111 6379
#主节点密码
masterauth "123456"
哨兵配置
sentinel.conf配置如下
sentinel monitor mymaster 10.36.2.111 6379 1
1代表当1个哨兵发现问题
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
#redis主节点密码
sentinel auth-pass mymaster 123456
#保护模式
protected-mode no
注意 先启动redis 再启动哨兵 注意linux开启端口
redis-server /home/redis/redis/redis.conf
redis-sentinel /home/redis/redis/sentinel.conf
另外主redis也要设置#主节点密码
masterauth "123456" 防止主库挂掉切换从库为主库,原主库再启动时连接不到现主库