乐趣区

关于linux:牛逼一个超实用的脚本可以一键自动部署Redis的任意版本

更多文章欢送关注公众号:Java 版 web 我的项目,外面还蕴含了从根底到进阶的各种材料

明天给大家分享一个超级实用的脚本,一键主动装置部署 Redis 的 任意版本,记住是任意版本哦!

脚本用法:chmod 755 redis-install.sh && sh redis-install.sh 4.0.10(前面跟的是你须要的版本号,须要什么版本就写什么版本),我这里装置的 4.0.10

具体脚本内容如下展现:

#! /usr/bin/bash
##redis 任何版本全程自动化源码编译装置
## 用法:sh redis-install.sh 4.0.10(前面跟的是你须要的版本号,须要什么版本就写什么版本),我这里装置的 4.0.10
version=$1
usage(){echo "usage: $0 version"}

if [$# -ne 1]
then
usage
exit -1
fi

#Redis 安装包下载
cd /usr/local/src
if [! -f redis-${version}.tar.gz ]
then
curl -o /usr/local/src/redis-${version}.tar.gz http://download.redis.io/releases/redis-${version}.tar.gz
fi

#Redis 依赖包装置
yum clean all
yum makecache fast
yum -y install gcc gcc-c++ tcl

#编译 Redis 所须要的 gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
source /opt/rh/devtoolset-9/enable
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
gcc --version

## 内零碎参数核优化
cat >> /etc/rc.d/rc.local << "EOF"

## 敞开 Linux 的 THP(内存管理系统)通过应用更大的内存页面,来缩小具备大量内存的计算机上的 TLB 的开销
if [-f /sys/kernel/mm/transparent_hugepage/enabled]
then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi

if [-f /sys/kernel/mm/transparent_hugepage/defrag]
then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod u+x /etc/rc.d/rc.local

if [-f /sys/kernel/mm/transparent_hugepage/enabled]
then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi

if [-f /sys/kernel/mm/transparent_hugepage/defrag]
then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

cat >> /etc/sysctl.conf << "EOF"

#Linux 零碎内核参数优化
net.core.somaxconn = 2048
net.ipv4.tcp_max_syn_backlog = 2048
vm.overcommit_memory = 1
EOF
sysctl -p

cat > /etc/security/limits.conf << "EOF"
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
EOF

#Redis 编译装置
cd /usr/local/src
tar -zxvf redis-${version}.tar.gz
cd /usr/local/src/redis-${version}
make
make PREFIX=/usr/local/redis install

#Redis 根底配置
mkdir -p /usr/local/redis/{etc,logs,data}
egrep -v "^$|^#" /usr/local/src/redis-${version}/redis.conf > /usr/local/redis/etc/redis.conf
#sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /usr/local/redis/etc/redis.conf
sed -i "s/protected-mode yes/protected-mode no/g" /usr/local/redis/etc/redis.conf
sed -i "s/daemonize no/daemonize yes/g" /usr/local/redis/etc/redis.conf
sed -i "s/pidfile \/var\/run\/redis_6379.pid/pidfile \/usr\/local\/redis\/redis.pid/g" /usr/local/redis/etc/redis.conf
sed -i "s/dir \.\//dir \/usr\/local\/redis\/data/g" /usr/local/redis/etc/redis.conf
sed -i "s/logfile \"\"/logfile \"\/usr\/local\/redis\/logs\/redis.log\"/g" /usr/local/redis/etc/redis.conf
sed -i "s/dbfilename dump.rdb/dbfilename dump.rdb/g" /usr/local/redis/etc/redis.conf
sed -i "s/appendfilename \"appendonly.aof\"/appendfilename \"appendonly.aof\"/g" /usr/local/redis/etc/redis.conf

#PATH 配置
echo "export PATH=${PATH}:/usr/local/redis/bin" >>/etc/profile
source /etc/profile
#启动 redis 服务
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
#查看 redis 监听端口
netstat -tanp|grep redis

执行脚本后开始主动装置 redis4.0.10

主动装置 Redis4.0.10 所须要的的依赖包,如下图所示:

主动开始解压:

开始主动 make

开始主动 make install

装置实现,Redis 服务已胜利启动:

到这里整改主动装置脚本已胜利执行结束,咱们能够收到通过 ps –ef|grep redis 来查看服务状态以及监听端口。

登陆 redis,执行简略的语句:

` 作者:阿龙说运维

起源:https://www.toutiao.com/i6906…`

退出移动版