时间:2021-07-01 10:21:17 帮助过:35人阅读
前面的文章给出了有关手工编译安装redis的流程,并且在模拟搭建redis集群时给出了在线安装redis的过程,于是就想着自己写好在线安装的redis脚本,本文主要使用shell函数来实现并且验证在线安装的过程,执行无误后就想着分享出来。
PS:系统环境为Centos7.4
#!/bin/bash
function checkroot(){
if [ $UID -ne 0 ]
then
echo "|----------------------------------------------------------------------------------------------------------------|"
echo "|------------------------------------------[权限不足..请切换至root用户]-------------------------------------------|"
echo "|----------------------------------------------------------------------------------------------------------------|"
exit;
fi
}
function judge(){
echo
off_file=`ls | grep redis-*.tar.gz`
if [[ "$off_file" = "" ]]
then
echo "|----------------------------------------------------------------------------------------------------------------|"
echo "|-------------------------------------------------[未发现离线包]--------------------------------------------------|"
echo "|-------------------------------------------------[开始在线安装]--------------------------------------------------|"
/usr/bin/sleep 3
network
else
exit;
fi
}
function network(){
yum install cpp binutils glibc-kernheaders glibc-common glibc-devel gcc gcc-c++ make wget -y #安装依赖库
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
if [ -f /root/redis-5.0.7.tar.gz ];then
tar zxvf redis-5.0.7.tar.gz
mv redis-5.0.7 /usr/local/redis
cd /usr/local/redis
make
cd src/
make install
else
echo "文件不存在!"
exit;
fi
sed -i ‘136s/daemonize no/daemonize yes/‘ /usr/local/redis/redis.conf #(编辑redis服务配置文件,修改其中配置)
#设置开启守护进程运行
sed -i ‘69s/127.0.0.1/0.0.0.0/‘ /usr/local/redis/redis.conf
#设置为任意终端访问
sed -i ‘88s/protected-mode yes/protected-mode no/‘ /usr/local/redis/redis.conf
#关闭受保护模式
sed -i ‘832s/#//‘ /usr/local/redis/redis.conf
#一下三行正则命令在部署集群时使用,单一安装时不要开启,否则会出错
#开启集群模式
#sed -i ‘840s/#//‘ /usr/local/redis/redis.conf
#集群配置文件目录
#sed -i ‘846s/#//‘ /usr/local/redis/redis.conf
#节点超时时间
#sed -i ‘699s/no/yes/‘ /usr/local/redis/redis.conf
#开启aof持久化
mkdir -p /etc/redis
ln -s /usr/local/redis/redis.conf /etc/redis/6379.conf #(在默认的配置文件路劲中放置配置文件)
ln -s /usr/local/redis/utils/redis_init_script /etc/init.d/redisd #(将初始化文件配置到系统自启动的文件夹内,redisd为服务名,可自行修改)
service redisd start #(开启redis服务,服务名为:redisd)
#redis-cli
netstat -ntpl|grep redis
echo "Redis 部署完成!"
echo " "
echo "如果你的系统是Centos 7在安装完毕后留意防火墙,可执行以下命令来放行redis 外部通信,若是没有成功则关闭防火墙及SELinux功能。"
echo "firewall-cmd --zone=public --add-port=6379/tcp --permanent"
echo "firewall-cmd --reload"
echo "firewall-cmd --zone=public --query-port=6379/tcp"
}
function main(){
checkroot
judge
}
main
shell脚本一键在线安装redis数据库(使用函数实现)
标签:完成 dir glibc tar 持久化 自启动 编译 ice code