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 12 Redis
Redis持久化与主从复制的实践
Apr 27 Redis
Redis 配置文件重要属性的具体使用
May 20 Redis
redis实现排行榜功能
May 24 Redis
Windows下redis下载、redis安装及使用教程
Jun 02 Redis
Redis基于Bitmap实现用户签到功能
Jun 20 Redis
了解Redis常见应用场景
Jun 23 Redis
Redis读写分离搭建的完整步骤
Sep 14 Redis
SpringBoot集成Redis的思路详解
Oct 16 Redis
redis中lua脚本使用教程
Nov 01 Redis
解决redis批量删除key值的问题
Mar 23 Redis
Redis实现一个账号只能登录一个设备
Apr 19 Redis
解决redis sentinel 频繁主备切换的问题
redis连接被拒绝的解决方案
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
php header示例代码(推荐)
2010/09/08 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
Python3中的真除和Floor除法用法分析
2016/03/16 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
python获取多线程及子线程的返回值
2017/11/15 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python next()和iter()函数原理解析
2020/02/07 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
浅析python实现动态规划背包问题
2020/12/31 Python
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
给老师的一封建议书
2014/03/13 职场文书
委托公证书范本
2014/04/03 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
西柏坡观后感
2015/06/08 职场文书
公司出差管理制度范本
2015/08/05 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书