1、升級編譯環境
# yum install centos-release-scl scl-utils-build
# yum install -y devtoolset-8-toolchain
# scl enable devtoolset-8 bash
# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
2、下載軟件包
# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# tar xzf redis-6.2.6.tar.gz
# cd redis-6.2.6
3、開始編譯
# make //如果出錯運行make distclean
# make install PREFIX=/usr/local/redis //默認安裝在/usr/local/bin下
# cp /root/soft/redis.conf /etc
# vim /etc/redis.conf
75 bind 127.0.0.1 192.168.10.84 //綁定本地主機的ip
98 port 6379
257 daemonize yes
289 pidfile /var/run/redis_6379.pid 302 logfile "/var/log/redis.log" 327 databases 16 431 dbfilename dump.rdb 483 requirepass centos //設置redis登錄密碼為centos
4、編輯redis的啟動文件
# vim /usr/lib/systemd/system/redis.service
[Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/redis_6379.pid ExecStart=/usr/local/bin/redis-server /etc/redis.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target
5、優化redis
# vim /etc/sysctl.conf
vm.nr_hugepages=2000 // 內存優化選項
vm.overcommit_memory=1 //表示內存將檢查是否有足夠的可用內存供應用進程使用,如果有,允許申請
net.core.somaxconn=1024 //增大tcp連接的數量,默認128太小
# sysctl -p
6、解決透明大頁,可能導致redis延遲和內存使用問題
# vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# chmod +x /etc/rc.d/rc.local
# systemctl enable redis
# systemctl start redis
7、redis防火牆設置
# firewall-cmd --permanent --zone=public --add-port=6379/tcp
# firewall-cmd --reload
8、redis常用命令
關閉命令:
# redis-cli shutdown
# redis-cli -p 6379 shutdown
開啟命令:
# redis /etc/redis.conf