技術(shù)文檔
CentOS 7如何安裝redis-7.0.4?CentOS7安裝redis,CentOS7安裝redis7,centos安裝redis
準(zhǔn)備篇
一、防火墻配置
CentOS 7.x默認(rèn)使用的是firewall作為防火墻,這里改為iptables防火墻。
1、關(guān)閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開(kāi)機(jī)啟動(dòng)
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 #設(shè)置防火墻開(kāi)機(jī)啟動(dòng)
/usr/libexec/iptables/iptables.init restart #重啟防火墻
二、關(guān)閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三、調(diào)整內(nèi)核參數(shù)
vi /etc/sysctl.conf
vm.overcommit_memory = 1#設(shè)置為1,使redis在低內(nèi)存下能正常運(yùn)行
:wq!#保存退出
sysctl -p#設(shè)置立即生效
說(shuō)明:
vm.overcommit_memory參數(shù)可選值:0、1、2
0表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應(yīng)用進(jìn)程使用,如果有足夠的可用內(nèi)存,內(nèi)存申請(qǐng)?jiān)试S,否則,內(nèi)存申請(qǐng)失敗,并把錯(cuò)誤返回給應(yīng)用進(jìn)程
1表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當(dāng)前的內(nèi)存狀態(tài)如何
2表示內(nèi)核允許分配超過(guò)所有物理內(nèi)存和交換空間總和的內(nèi)存
安裝篇
1、下載安裝包
下載地址:https://github.com/redis/redis/archive/7.0.4.tar.gz
上傳安裝包到服務(wù)器/usr/local/src目錄
2、升級(jí)gcc版本
redis源碼編譯需要先gcc的版本大于等于5
gcc -v 查看gcc版本
yum -y install gcc gcc-c++ #安裝gcc
yum -y install tcl
#升級(jí)到gcc版本,redis-6.0.x版本需要gcc 5.3以上,CentOS 7.x默認(rèn)是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 #版本臨時(shí)生效
echo "source /opt/rh/devtoolset-9/enable" /etc/profile #永久生效
3、安裝Redis
三臺(tái)服務(wù)器Redis安裝部分相同
Redis主節(jié)點(diǎn):192.168.21.100
Redis從節(jié)點(diǎn)1:192.16.21.101
Redis從節(jié)點(diǎn)2:192.168.21.102
在三臺(tái)服務(wù)器上執(zhí)行相同的操作
mkdir -p /usr/local/redis_db #創(chuàng)建數(shù)據(jù)存放目錄
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創(chuàng)建日志目錄
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 #以后臺(tái)daemon方式運(yùn)行redis
pidfile /usr/local/redis-7.0.4/redis_6379.pid
port 6379
bind 127.0.0.1 192.168.21.100 #主節(jié)點(diǎn)配置文件用這個(gè),ip地址為主節(jié)點(diǎn)服務(wù)器ip
bind 127.0.0.1 #兩臺(tái)從節(jié)點(diǎn)配置文件用這個(gè)
replicaof 192.168.21.100 6379 #只在兩臺(tái)從節(jié)點(diǎn)添加這一行,ip地址為主節(jié)點(diǎn)服務(wù)器ip
masterauth 123456#只在兩臺(tái)從節(jié)點(diǎn)添加這一行,密碼是主節(jié)點(diǎn)requirepass中設(shè)置的redis數(shù)據(jù)庫(kù)連接密
timeout 300 #客戶端超時(shí)設(shè)置,單位為秒
loglevel notice #設(shè)置日志級(jí)別,支持四個(gè)級(jí)別:debug、verbose、notice、warning
logfile "/usr/local/redis-7.0.4/log/redis.log" #日志記錄方式,默認(rèn)為標(biāo)準(zhǔn)輸出,logs不寫(xiě)文件,輸出到空設(shè)備/deb/null
databases 16 #開(kāi)啟數(shù)據(jù)庫(kù)的數(shù)量
save 900 1
save 300 10
save 60 10000
rdbcompression yes #啟用數(shù)據(jù)庫(kù)lzf壓縮
dbfilename dump.rdb
dir "/usr/local/redis_db"
requirepass 123456 #設(shè)置redis數(shù)據(jù)庫(kù)連接密碼
maxclients 10000 #同一時(shí)間最大客戶端連接數(shù),0為無(wú)限制
maxmemory 4096MB #設(shè)定redis最大使用內(nèi)存,值要小于物理內(nèi)存,必須設(shè)置??????????????????????????