redis单机单实例一键安装脚本
脚本功能
redis单机单实例一键安装脚本
注意事项
1.仅适用于Linux/Centos 64位
2.安装时需联网
- #!/bin/bash
- # 2013-1-10 LEO chanyipiaomiao@163.com
- # Blog: http://linux5588.blog.51cto.com
- # 脚本功能
- # redis单机单实例一键安装脚本
- # 注意事项
- # 仅适用于Linux/Centos 64位
- # 安装时需联网
- # 步骤
- # 1.下载并安装libunwind软件包(是TCMalloc依赖包)
- # 2.下载并安装TCMalloc
- # 3.下载并安装redis
- # 4.配置redis
- # 5.准备redis启动停止脚本
- # 6.启动redis
- #输出PATH变量
- export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
- #定义存放软件目录
- software="/root/software"
- #如果软件目录不存在则新建该目录
- if [[ ! -e $software ]]; then
- mkdir -p $software
- fi
- #定义判断是否安装成功函数
- function installIsOK(){
- if [[ $2 == 0 ]]; then
- echo "$1 install ...... OK !"
- else
- echo "$1 install ...... Failure!"
- exit 1
- fi
- }
- #进入软件目录
- cd $software
- # 1.下载并安装libunwind软件包(是TCMalloc依赖包)
- libunwind='libunwind-1.1'
- wget http://download.savannah.gnu.org/releases/libunwind/${libunwind}.tar.gz
- tar zxf ${libunwind}.tar.gz
- cd $libunwind
- ./configure && make && make install
- if [[ $? == 0 ]]; then
- installIsOK ${libunwind} 0
- else
- installIsOK ${libunwind} 1
- fi
- cd $software
- # 2.下载并安装TCMalloc
- # TCMalloc (google-perftools) 是用于优化C++写的多线程应用,比glibc 2.3的malloc快。这个模块可以用来优化redis性能
- gperftools='gperftools-2.0'
- wget http://gperftools.googlecode.com/files/${gperftools}.tar.gz
- tar zxf ${gperftools}.tar.gz
- cd $gperftools
- ./configure
- make && make install
- if [[ $? == 0 ]]; then
- installIsOK ${gperftools} 0
- else
- installIsOK ${gperftools} 2
- fi
- echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
- ldconfig
- cd $software
- # 3.下载并安装redis
- redis='redis-2.6.7'
- redis_dir='/usr/local/redis'
- wget http://redis.googlecode.com/files/${redis}.tar.gz
- tar zxf ${redis}.tar.gz
- cd $redis
- make PREFIX=${redis_dir} USE_TCMALLOC=yes install
- if [[ $? == 0 ]]; then
- installIsOK ${redis} 0
- else
- installIsOK ${redis} 3
- fi
- # 4.配置redis
- mkdir -p ${redis_dir}/etc
- mkdir -p ${redis_dir}/run
- mkdir -p ${redis_dir}/data/6379
- mkdir -p ${redis_dir}/log
- cp redis.conf ${redis_dir}/redis.conf
- #cp ${redis_dir}/redis.conf ${redis_dir}/etc/redis_6379.conf
- #生成配置文件
- redis_6379="${redis_dir}/etc/redis_6379.conf"
- cat >> ${redis_6379} << "EOF"
- daemonize yes
- pidfile /usr/local/redis/run/redis_6379.pid
- port 6379
- #bind 127.0.0.1
- timeout 300
- loglevel notice
- logfile /usr/local/redis/log/redis.log
- databases 16
- save 900 1
- save 300 10
- save 60 10000
- stop-writes-on-bgsave-error no
- rdbcompression yes
- rdbchecksum no
- dbfilename dump.rdb
- dir /usr/local/redis/data/6379
- #slave-serve-stale-data yes
- maxmemory 256mb
- maxmemory-policy volatile-lru
- maxmemory-samples 3
- appendonly yes
- appendfsync everysec
- no-appendfsync-on-rewrite no
- auto-aof-rewrite-percentage 100
- auto-aof-rewrite-min-size 64mb
- lua-time-limit 5000
- slowlog-log-slower-than 10000
- slowlog-max-len 1024
- hash-max-ziplist-entries 512
- hash-max-ziplist-value 64
- list-max-ziplist-entries 512
- list-max-ziplist-value 64
- set-max-intset-entries 512
- zset-max-ziplist-entries 128
- zset-max-ziplist-value 64
- activerehashing yes
- client-output-buffer-limit normal 0 0 0
- client-output-buffer-limit slave 256mb 64mb 60
- client-output-buffer-limit pubsub 32mb 8mb 60
- EOF
- # 5.redis启动停止脚本
- redis_start="/etc/rc.d/init.d/redis"
- cat >> ${redis_start} << "END"
- #!/bin/bash
- export PATH="/usr/local/redis/bin:$PATH"
- EXEC="/usr/local/redis/bin/redis-server"
- CLIEXEC="/usr/local/redis/bin/redis-cli"
- PIDFILE="/usr/local/redis/run/redis_6379.pid"
- CONF="/usr/local/redis/etc/redis_6379.conf"
- PORT="6379"
- case "$1" in
- start)
- if [ -f $$PIDFILE ]
- then
- echo "$PIDFILE exists, process is already running or crashed."
- else
- echo "Starting Redis server..."
- $EXEC $CONF
- fi
- ;;
- stop)
- if [ ! -f $PIDFILE ]
- then
- echo "$PIDFILE does not exist, process is not running."
- else
- PID=$(cat $PIDFILE)
- echo "Stopping ..."
- $CLIEXEC -p $PORT shutdown
- while [ -x /proc/${PID} ]
- do
- echo "Waiting for Redis to shutdown ..."
- sleep 1
- done
- echo "Redis stopped."
- fi
- ;;
- restart)
- $0 stop && $0 start
- ;;
- *)
- echo "Usage: $0 {start|stop|restart}" >&2
- exit 1
- ;;
- esac
- END
- #增加可执行权限
- chmod u+x ${redis_start}
- # 6.启动redis
- ${redis_start} start
- if [[ $? == 0 ]]; then
- echo "redis start ...... OK"
- else
- echo "redis start ...... Failure"
- fi
转载于:https://blog.51cto.com/linux5588/1113019
redis单机单实例一键安装脚本相关推荐
- openGauss单节点一键安装脚本
进入系统目录(CentOS 环境) 执行准备:创建操作系统普通用户,并设置密码 # 创建用户 useradd opengauss # 设置密码 passwd opengauss 创建脚本并添加执行权限 ...
- *** Python版一键安装脚本
本脚本适用环境: 系统支持:CentOS 6,7,Debian,Ubuntu 内存要求:≥128M 日期:2018 年 02 月 07 日 关于本脚本: 一键安装 Python 版 *** 的最新版. ...
- nginx一键安装脚本
nginx一键安装脚本 [root@cc nginx]# cat nginx_install.sh #!/bin/bash # > File Name: nginx_install.sh # & ...
- ORACLE 19C 单实例数据库安装
目录 环境信息 安装前准备 开始安装 安装程序 配置监听 安装数据库 安装后 本地连接数据库 总结 本文涉及的安装包下载: 链接:https://pan.baidu.com/s/1cXxAUTvWE6 ...
- 抢鲜体验:Oracle 19C单实例数据库安装步骤详解
抢鲜体验:Oracle 19C单实例数据库安装步骤详解 原创: 李宏达 数据和云 今天 作者:李宏达,云和恩墨北区交付工程师. 大家一直期待的 Oracle Database 19c 今天已经提供公开 ...
- [转] *** 一键安装脚本(四合一)
[from] https://teddysun.com/486.html 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 日期 :2017 ...
- k3s单机版安装部署 附一键安装脚本
作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211109907029/ 相关话题:https://ww ...
- CentOS7下pptp ***一键安装脚本
CentOS 6.7下pptp ***一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/***_centos.sh chmod +x ./** ...
- mysql脚本简书,mysql一键安装脚本
#!/bin/bash #MySQL一键安装脚本 #脚本运行前请确认本机没有安装其他版本的MySQL #运行脚本前请详细阅读my.cnf文件 PASSWORD=`cat my.cnf | grep p ...
- RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理
RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理 PRIMARY: RAC 双节点 ,存储:ASM STANDBY: 单实例 存储: ASM 单实例 数据库 ...
最新文章
- Eclipse配置Tomcat和JDK方法
- Android开源框架——网络解析GSON
- OpenCV使用G-API实现面部美化算法
- 一般线性模型和混合线性模型_线性混合模型如何工作
- 2019-03-13-算法-进化(鸡蛋掉落)
- SpringMVC实现RESTful风格
- java 调用命令行
- 将一个数的字节顺序逆置
- Leetcode每日一题:148.sort-list(链表排序)
- 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析
- input输入框提示从数据库查出来的一堆数据
- 30天试用期到了_如何战胜被天气支配的恐惧?洗衣干衣不用看“天”,国美干衣机免费等你试!...
- JavaSE基础 ——运算符
- 分享5款2022年最好用的windows软件
- 设计模式-行为性模式(模板方法模式,策略模式,命令模式,责任链模式,观察者模式,中介者模式,迭代器模式)
- web案例-3D旋转魔方和太极
- 手把手入门C语言—输入数组
- UE4打包工程失败问题记录
- html怎么写海贼王旗帜图片,海贼王精美旗帜套图
- Ubuntu离线安装软件包
热门文章
- 【BZOJ 2726】任务安排【斜率优化dp】
- jenkins shell 权限_Jenkins+gitee+nuxt自动化部署
- php 留言回复对话_php实现留言板功能(会话控制)
- 简单解决 Blocked a frame with origin XXX from accessing a cross-origin 。iframe跨域问题
- call_user_func_array 调用回调函数
- 【Docker】拉取Oracle 11g镜像配置
- 【BZOJ3894】文理分科(最小割)
- 【JZOJ4832】【NOIP2016提高A组集训第3场10.31】高维宇宙
- 搭建 S3C6.410 开发板的 测试环境
- 【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑