前言
此爲Redis5.0.5版本的安裝,適用於企業使用與個人學習,根據企業級Redis安裝部署博客改爲腳本安裝,請放心食用。
Redis安裝腳本
腳本及tar包分享
鏈接:https://pan.baidu.com/s/17WUpPJBBhapif_DLxGqwpQ
提取碼:zevx
關於腳本執行
直接將tar包解壓到root目錄下,然後執行安裝腳本即可。
[root@linux ~]# tar xf redis-install-script.tar.gz
[root@linux ~]# ls
anaconda-ks.cfg redis-5.0.5.tar.gz redis_install.sh
initial-setup-ks.cfg redis-install-script.tar.gz
[root@linux ~]# sh redis_install.sh
腳本執行過程
[root@linux ~]# sh redis_install.sh
掛載鏡像成功
---安裝GCC---
已加載插件:fastestmirror, langpacks
Determining fastest mirrors
yum | 3.6 kB 00:00
(1/2): yum/group_gz | 165 kB 00:00
(2/2): yum/primary_db | 3.2 MB 00:00
軟件包 gcc-4.8.5-39.el7.x86_64 已安裝並且是最新版本
無須任何處理
---安裝Redis---
更改文件最大打開數
1024 #此項重新登入系統纔會刷新爲10032.
修改sysctl.conf文件
關閉透明巨頁
Redis啓動成功
tcp 0 0 192.168.1.126:6379 0.0.0.0:* LISTEN 6668/redis-server 1
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 6668/redis-server 1
安裝腳本內容
注:腳本以本地yum的方式安裝GCC,會刪除網絡yum源文件,根據需求自行更改。
[root@linux ~]# cat redis_install.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*
cat >> /etc/yum.repos.d/yum.repo << eof
[yum]
name=yum
baseurl=file:///mnt
gpgcheck=0
enabled=1
eof
mount /dev/cdrom /mnt/ &>/dev/null
cd /mnt/Packages/
if [ $? -eq 0 ];then
echo "掛載鏡像成功"
else
echo "請將鏡像導入系統"
exit
fi
echo "---安裝GCC---"
yum install -y gcc
echo "---安裝Redis---"
cd /root
tar xf /root/redis-5.0.5.tar.gz
cd redis-5.0.5/
make &>/dev/null
cd src/
make install PREFIX=/usr/local/redis &>/dev/null
cd ..
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc/
echo "更改文件最大打開數"
echo "* soft nofile 10032" >> /etc/security/limits.conf
echo "* hard nofile 10032" >> /etc/security/limits.conf
echo "session required /usr/lib64/security/pam_limits.so" >> /etc/pam.d/login
ulimit -n
echo "修改sysctl.conf文件"
echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl -p &>/dev/null
echo "關閉透明巨頁"
echo never > /sys/kernel/mm/transparent_hugepage/enabled
sed -i 's/daemonize no/daemonize yes/g' /usr/local/redis/etc/redis.conf
sed -i '/bind 127.0.0.1/d' /usr/local/redis/etc/redis.conf
ip=$(ifconfig | awk 'NR==2 {print $2}')
echo "bind 127.0.0.1 $ip" >> /usr/local/redis/etc/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf &>/dev/null
if [ $? -eq 0 ];then
echo "Redis啓動成功"
else
echo "Redis啓動失敗"
fi
netstat -anptl | grep redis
ln -s /usr/local/redis/bin/* /usr/local/bin/
chmod +x /etc/rc.d/rc.local
echo " /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf" >> /etc/rc.d/rc.local