linux版本是Centos 7.4.x。Redis官方下载tar.gz官方网站:https://redis.io/download.
环境架构:
1)master redis server:bind 10.70.27.10
2) slaveredis server:bind 10.70.27.8
step: 1.建议把主和从的redis服务器的防火墙都关闭(主和从redis服务器上)。
登录到主和从的redis服务器,执行下面的操作.
# systemctl stop firewalld.service
#systemctl disable firewalld.service
step 2: 安装gcc编译器(主redis服务器上)
登录到主redis服务器,执行下面的操作:
#yum install gcc-c++
#gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
Copyright (C) 2015 Free Software Foundation,Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
step 3. 下载redis源码(主redis服务器上)
$wget http://download.redis.io/releases/redis-4.0.6.tar.gz
然后解压:
$tar xzf redis-4.0.6.tar.gz
;cd redis-4.0.6
Step 4: 编译redis(主redis服务器上)
安装目录: /opt/app/redis4
用户: root
$makePREFIX=/opt/app/redis4install
当你看到下面的文字,恭喜您。编译完成。
Hint: It’s a good idea to run ‘make test’ ;)
安装完成后, 可以看到/opt/app/redis4/ 目录下有一个 bin 目录, bin 目录里就是 redis 的命令脚本:
配置文件 redis.conf和sentinel.conf就在redis-4.0.6
目录下。
主服务器的配置文件:
1) 主服务器:vim redis.conf
找到:bind 127.0.0.1(修改成:bind 10.70.27.10 127.0.0.1记得修改成自己ip,远程才能访问。)
找到:protected-mode yes(设置成:protected-mode no;保护模式关闭,如果你不关闭保护模式,启动哨兵的时候,无法正常运行。还有个解决办法就是你设置密码,但是一般都不设置redis的密码。麻烦,我每次连接还得输入密码。在部署中,可以设置密码。)
找到:daemonize no(设置成:daemonize yes,标示后台启动。)
然后把redis.conf 拷贝到/opt/app/redis4/conf (没有则建一个目录)
step 6 redis 开始运行
1:在主服务器上的操作:
#/opt/app/redis4/bin/redis-server/opt/app/redis4/conf/redis.conf
2:在从服务器上的操作:
1. 把主服务器上的/opt/app/redis4整个目录 拷贝到 从服务器上的 /opt/app/redis4(没有则事先建立该目录)上。
2. 修改redis.conf
1)vim redis.conf ,改成如下信息。
bind 10.70.27.8127.0.0.1
slaveof10.70.27.8 6379
2) 然后启动从redis
/opt/app/redis4/bin/redis-server/opt/app/redis4/conf/redis.conf
3)检验运行状况
在主或者从redis服务器上,
# /opt/app/redis4/bin/redis-cli
>info
然后输入info,看看结果
如果上面没有啥问题,则继续。
Step 7. redis 作为systemctl的服务来启动
把上面的主,从redis的redis.conf文件按如下修改。
#bind127.0.0.1去掉,不能bind到127.0.0.1
daemonize yes
protected-mode no
logfile/opt/app/redis4/log/redis.log
pidfile /opt/app/redis4/redis_6379.pid
vi /etc/systemd/system/redis.service
[Unit] Description=Redis After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/opt/app/redis4/redis_6379.pid ExecStart=/opt/app/redis4/bin/redis-server /opt/app/redis4/conf/redis.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
然后启动redis.service
systemctl daemon-reload
systemctl enable redis.service
systemctl start redis
systemctl status redis
cd /opt/app/redis4/log,打开 redis.log来看看redis的状况。
Step 8: 继续哨兵模式的配置