环境相关:
OS:CentOS release 7.4.1708
IP:192.168.77.100
MEM:8G
DISK:50G
- 主机克隆,基础环境部署
参照《CentOS7实验机模板搭建部署》
克隆一台实验机,调整内存为8G,并进一步配置主机名和hosts文件:
HOSTNAME=redis
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts
- 编译安装部署
安装编译需要的系统包:
yum -y install gcc tcl rubygems ruby-devel rpm-build
下载源码包,编译安装:
cd /tmp/
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
cd /usr/local
tar -xf /tmp/redis-4.0.2.tar.gz
ln -s redis-4.0.2 redis
cd redis
make && make install
配置部署:
mkdir -pv /usr/local/redis/run/{pid,log,data}
# 创建实例运行的目录
cd /usr/local/redis/
PORT=7000
# 修改默认端口6379为7000
cp -av redis.conf redis_${PORT}.conf
sed -i "s/^bind 127.0.0.1/bind $(hostname -i)/g" redis_${PORT}.conf
# 绑定节点自己的IP
sed -i "s/^port 6379/port ${PORT}/g" redis_${PORT}.conf
sed -i "s/^daemonize no/daemonize yes/g" redis_${PORT}.conf
sed -i "s|/var/run/redis_6379.pid|/usr/local/redis/run/pid/redis_${PORT}.pid|g" redis_${PORT}.conf
# 设置pid文件
sed -i "s|^logfile.*$|logfile /usr/local/redis/run/log/redis_${PORT}.log|g" redis_${PORT}.conf
# 设置log文件
sed -i "s/^dbfilename dump.rdb/dbfilename dump_${PORT}.rdb/g" redis_${PORT}.conf
# 设置内存快照文件名
sed -i "s|^dir ./|dir /usr/local/redis/run/data|g" redis_${PORT}.conf
# 设置快照存储目录
sed -i "/^# maxmemory <bytes>/amaxmemory 6871947673" redis_${PORT}.conf
# 设置实例内存为6.4G,需要根据实际情况修改
sed -i "s/^appendonly no/appendonly yes/g" redis_${PORT}.conf
# 设置打开aof日志
sed -i "s/^appendfilename.*/appendfilename appendonly_${PORT}.aof/g" redis_${PORT}.conf
# 设置aof日志名
配置启动:
echo "/usr/local/bin/redis-server /usr/local/redis/redis_${PORT}.conf">>/etc/rc.d/rc.local
reboot
测试:
ps -ef|grep redis
netstat -tupln
echo 'ping' | redis-cli -h 192.168.77.100 -p 7000
echo 'info' | redis-cli -h 192.168.77.100 -p 7000
[TOC]