Redis如何一键部署脚本


Posted in Redis onApril 12, 2021

先将安装包拖入/opt目录

Redis如何一键部署脚本

注意:这里的脚本bind修改后为 0.0.0.0

bind修改后为bind 127.0.0.1 +服务器IP在下面

#!/bin/bash

#yum源
echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m"
ping -c1 -W1 www.baidu.com &> /dev/null
if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m"
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null

yum clean all &> /dev/null
yum list &> /dev/null
echo -e "\033[31m 在线源已配置完成 \033[0m"

else
echo -e "\033[31m 检测当前为仅主机模式,为您配置本地yum源 \033[0m"
mount /dev/sr0 /mnt &> /dev/null
cd /etc/yum.repos.d/
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

echo '[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
yum clean all &> /dev/null
yum makecache &> /dev/null

df -h | grep "/mnt" 
if [ $? -ne 0 ];then
echo -e "\033[31m 检测当前为仅主机模式,但光盘未连接! \033[0m"
else
echo -e "\033[31m 本地yum源已配置完成 \033[0m"
fi
fi

#关闭防火墙
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make
rpm -q expect
rpm -q tcl
yum -y install expect
cd /opt
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
#由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。

#在/utils里执行软件包提供的install_server.sh脚本文件设置Redis服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils

#开始免交换执行
/usr/bin/expect <<EOF
#expect开始标志
spawn ./install_server.sh
#Please select the redis port for this instance: [6379]
expect "instance"
send "\r" 
#Please select the redis config file name [/etc/redis/6379.conf] 
expect "config"
send "\r"
#Please select the redis log file name [/var/log/redis_6379.log]
expect "log"
send "\r"
#Please select the data directory for this instance [/var/lib/redis/6379]
expect "data"
send "\r"
#Please select the redis executable path []
expect "executable"
send "/usr/local/redis/bin/redis-server\r"
#Is this ok? Then press ENTER to go on or Ctrl-C to abort.
expect "abort"
send "\r"
expect eof
EOF


ln -s /usr/local/redis/bin/* /usr/local/bin/
netstat -natp | grep redis

/etc/init.d/redis_6379 restart     
/etc/init.d/redis_6379 status   

sed -i '/bind 127.0.0.1/c bind 0.0.0.0' /etc/redis/6379.conf
sed -i 's/appendonly no/appendonly yes/' /etc/redis/6379.conf

/etc/init.d/redis_6379 restart
/etc/init.d/redis_6379 status

bind修改后为bind 127.0.0.1 +服务器IP脚本

#!/bin/bash

#yum源
echo -e "\033[31m =====正在验证当前为仅主机还是NAT模式===== \033[0m"
ping -c1 -W1 www.baidu.com &> /dev/null
if [ $? -eq 0 ];then echo -e "\033[31m 检测当前为NAT模式,为您配置在线yum源 \033[0m"
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null

yum clean all &> /dev/null
yum list &> /dev/null
echo -e "\033[31m 在线源已配置完成 \033[0m"

else
echo -e "\033[31m 检测当前为仅主机模式,为您配置本地yum源 \033[0m"
mount /dev/sr0 /mnt &> /dev/null
cd /etc/yum.repos.d/
mkdir -p /etc/yum.repos.d/repo.bak

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repo.bak &> /dev/null

echo '[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
yum clean all &> /dev/null
yum makecache &> /dev/null

df -h | grep "/mnt" 
if [ $? -ne 0 ];then
echo -e "\033[31m 检测当前为仅主机模式,但光盘未连接! \033[0m"
else
echo -e "\033[31m 本地yum源已配置完成 \033[0m"
fi
fi

#防火墙关闭
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make
rpm -q expect
rpm -q tcl
yum -y install expect
cd /opt
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
#由于Redis源码包中直接提供了Makefile 文件,所以在解压完软件包后,不用先执行./configure进行配置,可直接执行make与make install 命令进行安装。

#在/utils里执行软件包提供的install_server.sh脚本文件设置Redis服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils

#开始免交换执行
/usr/bin/expect <<EOF
#expect开始标志
spawn ./install_server.sh
#Please select the redis port for this instance: [6379]
expect "instance"
send "\r" 
#Please select the redis config file name [/etc/redis/6379.conf] 
expect "config"
send "\r"
#Please select the redis log file name [/var/log/redis_6379.log]
expect "log"
send "\r"
#Please select the data directory for this instance [/var/lib/redis/6379]
expect "data"
send "\r"
#Please select the redis executable path []
expect "executable"
send "/usr/local/redis/bin/redis-server\r"
#Is this ok? Then press ENTER to go on or Ctrl-C to abort.
expect "abort"
send "\r"
expect eof
EOF


ln -s /usr/local/redis/bin/* /usr/local/bin/
netstat -natp | grep redis

/etc/init.d/redis_6379 restart     
/etc/init.d/redis_6379 status   


xyw=$(ip a | grep "ens33" | awk NR==2'{print$2}' |awk -F/ '{print$1}')
sed -i "/bind 127.0.0.1/c bind 127.0.0.1 $xyw" /etc/redis/6379.conf

sed -i 's/appendonly no/appendonly yes/' /etc/redis/6379.conf

/etc/init.d/redis_6379 restart
/etc/init.d/redis_6379 status

到此这篇关于Redis如何一键部署脚本的文章就介绍到这了,更多相关Redis 部署脚本内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
redis配置文件中常用配置详解
Apr 14 Redis
redis三种高可用方式部署的实现
May 11 Redis
使用Redis实现实时排行榜功能
Jul 02 Redis
缓存替换策略及应用(以Redis、InnoDB为例)
Jul 25 Redis
Redis入门教程详解
Aug 30 Redis
为什么RedisCluster设计成16384个槽
Sep 25 Redis
Redis的字符串是如何实现的
Oct 24 Redis
redis缓存存储Session原理机制
Nov 20 Redis
浅谈Redis跟MySQL的双写问题解决方案
Feb 24 Redis
Redis 哨兵机制及配置实现
Mar 25 Redis
浅谈Redis变慢的原因及排查方法
Jun 21 Redis
Redis Lua脚本实现ip限流示例
Jul 15 Redis
解决redis sentinel 频繁主备切换的问题
redis连接被拒绝的解决方案
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
基于python实现雪花算法过程详解
2019/11/16 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
三好学生演讲稿范文
2014/04/26 职场文书
创先争优活动心得体会
2014/09/04 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
公司财务部岗位职责
2015/04/14 职场文书
总结Python常用的魔法方法
2021/05/25 Python