CentOS 7如何安装redis-7.0.4?CentOS7安装redis,CentOS7安装redis7,centos安装redis
准备篇
一、防火墙配置
CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl mask firewalld
systemctl stop firewalld
yum remove firewalld
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
/usr/libexec/iptables/iptables.init restart #重启防火墙
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三、调整内核参数
vi /etc/sysctl.conf
vm.overcommit_memory = 1#设置为1,使redis在低内存下能正常运行
:wq!#保存退出
sysctl -p#设置立即生效
说明:
vm.overcommit_memory参数可选值:0、1、2
0表示内核将检查是否有足够的可用内存供应用进程使用,如果有足够的可用内存,内存申请允许,否则,内存申请失败,并把错误返回给应用进程
1表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2表示内核允许分配超过所有物理内存和交换空间总和的内存
安装篇
1、下载安装包
下载地址:https://github.com/redis/redis/archive/7.0.4.tar.gz
上传安装包到服务器/usr/local/src目录
2、升级gcc版本
redis源码编译需要先gcc的版本大于等于5
gcc -v 查看gcc版本
yum -y install gcc gcc-c++ #安装gcc
yum -y install tcl
#升级到gcc版本,redis-6.0.x版本需要gcc 5.3以上,CentOS 7.x默认是gcc version 4.8.5
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash #版本临时生效
echo "source /opt/rh/devtoolset-9/enable" /etc/profile #永久生效
3、安装Redis
三台服务器Redis安装部分相同
Redis主节点:192.168.21.100
Redis从节点1:192.16.21.101
Redis从节点2:192.168.21.102
在三台服务器上执行相同的操作
mkdir -p /usr/local/redis_db #创建数据存放目录
cd /usr/local/src
tar -zxvf redis-7.0.4.tar.gz
cd redis-7.0.4
make
make install PREFIX=/usr/local/redis-7.0.4
4、配置Redis
4.1创建日志目录
mkdir -p/usr/local/redis-7.0.4/log
4.2拷贝配置文件模板
cp /usr/local/src/redis-7.0.4/redis.conf /usr/local/redis-7.0.4/redis.conf
4.3修改配置文件
vi/usr/local/redis-7.0.4/redis.conf
daemonize yes #以后台daemon方式运行redis
pidfile /usr/local/redis-7.0.4/redis_6379.pid
port 6379
bind 127.0.0.1 192.168.21.100 #主节点配置文件用这个,ip地址为主节点服务器ip
bind 127.0.0.1 #两台从节点配置文件用这个
replicaof 192.168.21.100 6379 #只在两台从节点添加这一行,ip地址为主节点服务器ip
masterauth 123456#只在两台从节点添加这一行,密码是主节点requirepass中设置的redis数据库连接密
timeout 300 #客户端超时设置,单位为秒
loglevel notice #设置日志级别,支持四个级别:debug、verbose、notice、warning
logfile "/usr/local/redis-7.0.4/log/redis.log" #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null
databases 16 #开启数据库的数量
save 900 1
save 300 10
save 60 10000
rdbcompression yes #启用数据库lzf压缩
dbfilename dump.rdb
dir "/usr/local/redis_db"
requirepass 123456 #设置redis数据库连接密码
maxclients 10000 #同一时间最大客户端连接数,0为无限制
maxmemory 4096MB #设定redis最大使用内存,值要小于物理内存,必须设置