一、环境准备:
1、linux服务2台(测试服务器或虚拟机)
主服务器:192.168.1.28
从服务器:192.168.1.25
2、配置好防火墙
$ /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT (1) CentOSv6.8 修改防火墙配置、修改SSH端口 $ vi /etc/sysconfig/iptables #修改防火墙配置 $ service iptables status #查看防火墙状况 $ service iptables restart #重启防火墙 $ service iptables start #打开防火墙 $ service iptables stop #关闭防火墙
(2) CentOSv7.2修改防火墙配置:
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
开放端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --query-port=8088/tcp
firewall-cmd --zone=public --query-port=80/tcp
二、安装redis,并配置主从
1、主服务器安装(192.168.1.28)
默认监听127.0.0.1 IP,需要增加本机IP绑定如下:
bind 192.168.1.28 127.0.0.1
$ mkdir /usr/local/redis $ mkdir /usr/local/redis $ cd /usr/local/redis $ wget http://download.redis.io/releases/redis-3.2.8.tar.gz $ tar xzf redis-3.2.8.tar.gz $ cd redis-3.2.8 $ make $ make install 编译后,生成的运行文件在src目录 redis.conf配置文件为redis启动的配置文件 $ cd utils/ $ ./install_server.sh Port : 6379 Config file : /usr/local/redis/redis-3.2.8/redis.conf Log file : /var/log/redis_6379.log Data dir : /var/lib/redis/6379 Executable : /usr/local/bin/redis-server
2、从服务器安装(192.168.1.25)
默认监听127.0.0.1 IP,需要增加本机IP绑定如下:
bind 192.168.1.25 127.0.0.1
日志配置:
loglevel warning
日志级别说明:
debug适合开发测试环境
notice默认基本,提示
warning警告级别,适用用于生成以及压力测试等
logfile ‘redis.log’
持久化数据配置:
# dir 目录
dir /tmp/redisdb
主从复制:
# slaveof 主服务器IP 端口号
slaveof 192.168.1.28 6379
配置密码:
requirepass admin123
masterauth admin123
3、主从测试
连接主服务器:
$ redis-cli -h 192.168.1.28 -a admin123
$ 127.0.0.1:6379> info
$ # Server 一些主服务器基本信息...
$ redis> set str abc
连接从服务器:
$ redis-cli -h 192.168.1.25 -a admin123
$ 127.0.0.1:6379> info
$ # Server 一些从服务器基本信息...
$ redis> get str
$ "abc"
三、哨兵配置
修改sentinel.conf配置文件: protected-mode no daemonize yes logfile "/var/log/sentinel.log" sentinel monitor mymaster 192.168.1.28 6379 1 sentinel auth-pass mymaster admin168 运行哨兵组件: $ cd /usr/local/redis/redis-3.2.8 $ redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf
四、redis常用命令
redis启动: # 防止redis被root注入,以nobody启动 $ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-server /usr/local/redis/redis-3.2.8/redis.conf & $ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf & redis卸载: $ ps aux|grep redis $ ll /usr/local/bin $ rm -f /usr/local/bin/redis* $ cd /usr/local/ -> rm -rf redis $ ll /usr/local/ 关闭redis: $ redis-cli -h 127.0.0.1 -p 6379 -a admin123 shutdown $ redis-server /usr/local/redis/redis-3.2.8/redis.conf & $ redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf & 大致操作命令步骤如下(nobody启动,一定要给目录跟文件授权,不然会启动报错): $ chmod 777 /tmp/redisdb $ chmod 777 /usr/local/redis/redis-3.2.8/redis.log $ chmod 777 /usr/local/redis/redis-3.2.8/sentinel.conf $ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-server /usr/local/redis/redis-3.2.8/redis.conf & $ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf &