VERSION=3.2.9
wget -P /tmp http://download.redis.io/releases/redis-$VERSION.tar.gz
tar -C /tmp -xf /tmp/redis-$VERSION.tar.gz
cd /tmp/redis-$VERSION
#make MALLOC=jemalloc
make
make install
# 创建组和用户
groupadd redis
useradd -g redis redis -s /sbin/nologin
# 文件存放目录
mkdir /var/log/redis
mkdir /etc/redis
mkdir /etc/systemd/system/redis.service.d/
chown redis:redis /var/log/redis
#修改配置文件
IP=`ifconfig eth0 | grep "inet " | awk '{ print $2}'` #ifconfig | grep inet | awk '{ print $2}' | head -n 1
#cp redis.conf /etc/redis.conf
echo "bind ${IP}" > /etc/redis/redis.conf
echo "protected-mode no" >> /etc/redis/redis.conf
echo "tcp-backlog 4096" >> /etc/redis/redis.conf
echo "timeout 300" >> /etc/redis/redis.conf
echo "tcp-keepalive 60" >> /etc/redis/redis.conf
echo "daemonize yes" >> /etc/redis/redis.conf
echo "supervised systemd" >> /etc/redis/redis.conf
echo "logfile "/var/log/redis/redis.log"" >> /etc/redis/redis.conf
echo "dir "/var/log/redis"" >> /etc/redis/redis.conf
echo "maxclients 10000" >> /etc/redis/redis.conf
echo "maxmemory 5859375kb" >> /etc/redis/redis.conf
echo "maxmemory-policy volatile-lru" >> /etc/redis/redis.conf
echo "appendonly no" >> /etc/redis/redis.conf
echo "slowlog-max-len 512" >> /etc/redis/redis.conf
echo "client-output-buffer-limit normal 0 0 0" >> /etc/redis/redis.conf
echo "save 900 1" >> /etc/redis/redis.conf
echo "save 300 10" >> /etc/redis/redis.conf
echo "save 60 10000" >> /etc/redis/redis.conf
echo "client-output-buffer-limit slave 512mb 256mb 300" >> /etc/redis/redis.conf
echo "slaveof 192.168.2.21 6379" >> /etc/redis/redis.conf
# 修改配置文件属性
chown redis:redis /etc/redis -R
#systemd开机配置
IP=`ifconfig eth0 | grep "inet " | awk '{ print $2}'` #ifconfig | grep inet | awk '{ print $2}' | head -n 1
echo "[Unit]" > /usr/lib/systemd/system/redis.service
echo "Description=Redis persistent key-value database" >> /usr/lib/systemd/system/redis.service
echo "After=network.target" >> /usr/lib/systemd/system/redis.service
echo "" >> /usr/lib/systemd/system/redis.service
echo "[Service]" >> /usr/lib/systemd/system/redis.service
echo "Type=forking" >> /usr/lib/systemd/system/redis.service
echo "ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf" >> /usr/lib/systemd/system/redis.service
echo "ExecStop=/usr/local/bin/redis-cli -h ${IP} shutdown" >> /usr/lib/systemd/system/redis.service
echo "User=redis" >> /usr/lib/systemd/system/redis.service
echo "Group=redis" >> /usr/lib/systemd/system/redis.service
echo "" >> /usr/lib/systemd/system/redis.service
echo "[Install]" >> /usr/lib/systemd/system/redis.service
echo "WantedBy=multi-user.target" >> /usr/lib/systemd/system/redis.service
#systemd限制文件
echo "[Service]" > /etc/systemd/system/redis.service.d/limits.conf
echo "LimitNOFILE=65535" >> /etc/systemd/system/redis.service.d/limits.conf
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
systemctl enable redis
systemctl start redis