脚本功能

redis单机单实例一键安装脚本

注意事项

1.仅适用于Linux/Centos 64位

2.安装时需联网

步骤
1.下载并安装libunwind软件包(是TCMalloc依赖包)
2.下载并安装TCMalloc
3.下载并安装redis
4.配置redis
5.准备redis启动停止脚本
6.启动redis
脚本内容
  1. #!/bin/bash
  2. # 2013-1-10 LEO chanyipiaomiao@163.com
  3. # Blog: http://linux5588.blog.51cto.com
  4. # 脚本功能
  5. # redis单机单实例一键安装脚本
  6. # 注意事项
  7. # 仅适用于Linux/Centos 64位
  8. # 安装时需联网
  9. # 步骤
  10. # 1.下载并安装libunwind软件包(是TCMalloc依赖包)
  11. # 2.下载并安装TCMalloc
  12. # 3.下载并安装redis
  13. # 4.配置redis
  14. # 5.准备redis启动停止脚本
  15. # 6.启动redis
  16. #输出PATH变量
  17. export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  18. #定义存放软件目录
  19. software="/root/software"
  20. #如果软件目录不存在则新建该目录
  21. if [[ ! -e $software ]]; then
  22. mkdir -p $software
  23. fi
  24. #定义判断是否安装成功函数
  25. function installIsOK(){
  26. if [[ $2 == 0 ]]; then
  27. echo "$1 install ......  OK !"
  28. else
  29. echo "$1 install ......  Failure!"
  30. exit 1
  31. fi
  32. }
  33. #进入软件目录
  34. cd $software
  35. # 1.下载并安装libunwind软件包(是TCMalloc依赖包)
  36. libunwind='libunwind-1.1'
  37. wget http://download.savannah.gnu.org/releases/libunwind/${libunwind}.tar.gz
  38. tar zxf ${libunwind}.tar.gz
  39. cd $libunwind
  40. ./configure && make && make install
  41. if [[ $? == 0 ]]; then
  42. installIsOK ${libunwind} 0
  43. else
  44. installIsOK ${libunwind} 1
  45. fi
  46. cd $software
  47. # 2.下载并安装TCMalloc
  48. # TCMalloc (google-perftools) 是用于优化C++写的多线程应用,比glibc 2.3的malloc快。这个模块可以用来优化redis性能
  49. gperftools='gperftools-2.0'
  50. wget http://gperftools.googlecode.com/files/${gperftools}.tar.gz
  51. tar zxf ${gperftools}.tar.gz
  52. cd $gperftools
  53. ./configure
  54. make && make install
  55. if [[ $? == 0 ]]; then
  56. installIsOK ${gperftools} 0
  57. else
  58. installIsOK ${gperftools} 2
  59. fi
  60. echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
  61. ldconfig
  62. cd $software
  63. # 3.下载并安装redis
  64. redis='redis-2.6.7'
  65. redis_dir='/usr/local/redis'
  66. wget http://redis.googlecode.com/files/${redis}.tar.gz
  67. tar zxf ${redis}.tar.gz
  68. cd $redis
  69. make PREFIX=${redis_dir} USE_TCMALLOC=yes install
  70. if [[ $? == 0 ]]; then
  71. installIsOK ${redis} 0
  72. else
  73. installIsOK ${redis} 3
  74. fi
  75. # 4.配置redis
  76. mkdir -p ${redis_dir}/etc
  77. mkdir -p ${redis_dir}/run
  78. mkdir -p ${redis_dir}/data/6379
  79. mkdir -p ${redis_dir}/log
  80. cp redis.conf ${redis_dir}/redis.conf
  81. #cp ${redis_dir}/redis.conf ${redis_dir}/etc/redis_6379.conf
  82. #生成配置文件
  83. redis_6379="${redis_dir}/etc/redis_6379.conf"
  84. cat >> ${redis_6379} << "EOF"
  85. daemonize yes
  86. pidfile /usr/local/redis/run/redis_6379.pid
  87. port 6379
  88. #bind 127.0.0.1
  89. timeout 300
  90. loglevel notice
  91. logfile /usr/local/redis/log/redis.log
  92. databases 16
  93. save 900 1
  94. save 300 10
  95. save 60 10000
  96. stop-writes-on-bgsave-error no
  97. rdbcompression yes
  98. rdbchecksum no
  99. dbfilename dump.rdb
  100. dir /usr/local/redis/data/6379
  101. #slave-serve-stale-data yes
  102. maxmemory 256mb
  103. maxmemory-policy volatile-lru
  104. maxmemory-samples 3
  105. appendonly yes
  106. appendfsync everysec
  107. no-appendfsync-on-rewrite no
  108. auto-aof-rewrite-percentage 100
  109. auto-aof-rewrite-min-size 64mb
  110. lua-time-limit 5000
  111. slowlog-log-slower-than 10000
  112. slowlog-max-len 1024
  113. hash-max-ziplist-entries 512
  114. hash-max-ziplist-value 64
  115. list-max-ziplist-entries 512
  116. list-max-ziplist-value 64
  117. set-max-intset-entries 512
  118. zset-max-ziplist-entries 128
  119. zset-max-ziplist-value 64
  120. activerehashing yes
  121. client-output-buffer-limit normal 0 0 0
  122. client-output-buffer-limit slave 256mb 64mb 60
  123. client-output-buffer-limit pubsub 32mb 8mb 60
  124. EOF
  125. # 5.redis启动停止脚本
  126. redis_start="/etc/rc.d/init.d/redis"
  127. cat >> ${redis_start} << "END"
  128. #!/bin/bash
  129. export PATH="/usr/local/redis/bin:$PATH"
  130. EXEC="/usr/local/redis/bin/redis-server"
  131. CLIEXEC="/usr/local/redis/bin/redis-cli"
  132. PIDFILE="/usr/local/redis/run/redis_6379.pid"
  133. CONF="/usr/local/redis/etc/redis_6379.conf"
  134. PORT="6379"
  135. case "$1" in
  136. start)
  137. if [ -f $$PIDFILE ]
  138. then
  139. echo "$PIDFILE exists, process is already running or crashed."
  140. else
  141. echo "Starting Redis server..."
  142. $EXEC $CONF
  143. fi
  144. ;;
  145. stop)
  146. if [ ! -f $PIDFILE ]
  147. then
  148. echo "$PIDFILE does not exist, process is not running."
  149. else
  150. PID=$(cat $PIDFILE)
  151. echo "Stopping ..."
  152. $CLIEXEC -p $PORT shutdown
  153. while [ -x /proc/${PID} ]
  154. do
  155. echo "Waiting for Redis to shutdown ..."
  156. sleep 1
  157. done
  158. echo "Redis stopped."
  159. fi
  160. ;;
  161. restart)
  162. $0 stop && $0 start
  163. ;;
  164. *)
  165. echo "Usage: $0 {start|stop|restart}" >&2
  166. exit 1
  167. ;;
  168. esac
  169. END
  170. #增加可执行权限
  171. chmod u+x ${redis_start}
  172. # 6.启动redis
  173. ${redis_start} start
  174. if [[ $? == 0 ]]; then
  175. echo "redis start ......  OK"
  176. else
  177. echo "redis start ...... Failure"
  178. fi

转载于:https://blog.51cto.com/linux5588/1113019

redis单机单实例一键安装脚本相关推荐

  1. openGauss单节点一键安装脚本

    进入系统目录(CentOS 环境) 执行准备:创建操作系统普通用户,并设置密码 # 创建用户 useradd opengauss # 设置密码 passwd opengauss 创建脚本并添加执行权限 ...

  2. *** Python版一键安装脚本

    本脚本适用环境: 系统支持:CentOS 6,7,Debian,Ubuntu 内存要求:≥128M 日期:2018 年 02 月 07 日 关于本脚本: 一键安装 Python 版 *** 的最新版. ...

  3. nginx一键安装脚本

    nginx一键安装脚本 [root@cc nginx]# cat nginx_install.sh #!/bin/bash # > File Name: nginx_install.sh # & ...

  4. ORACLE 19C 单实例数据库安装

    目录 环境信息 安装前准备 开始安装 安装程序 配置监听 安装数据库 安装后 本地连接数据库 总结 本文涉及的安装包下载: 链接:https://pan.baidu.com/s/1cXxAUTvWE6 ...

  5. 抢鲜体验:Oracle 19C单实例数据库安装步骤详解

    抢鲜体验:Oracle 19C单实例数据库安装步骤详解 原创: 李宏达 数据和云 今天 作者:李宏达,云和恩墨北区交付工程师. 大家一直期待的 Oracle Database 19c 今天已经提供公开 ...

  6. [转] *** 一键安装脚本(四合一)

    [from] https://teddysun.com/486.html 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 日期 :2017 ...

  7. k3s单机版安装部署 附一键安装脚本

    作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211109907029/ 相关话题:https://ww ...

  8. CentOS7下pptp ***一键安装脚本

    CentOS 6.7下pptp ***一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/***_centos.sh chmod +x ./** ...

  9. mysql脚本简书,mysql一键安装脚本

    #!/bin/bash #MySQL一键安装脚本 #脚本运行前请确认本机没有安装其他版本的MySQL #运行脚本前请详细阅读my.cnf文件 PASSWORD=`cat my.cnf | grep p ...

  10. RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理

    RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理 PRIMARY:  RAC 双节点 ,存储:ASM STANDBY: 单实例          存储: ASM 单实例  数据库 ...

最新文章

  1. Eclipse配置Tomcat和JDK方法
  2. Android开源框架——网络解析GSON
  3. OpenCV使用G-API实现面部美化算法
  4. 一般线性模型和混合线性模型_线性混合模型如何工作
  5. 2019-03-13-算法-进化(鸡蛋掉落)
  6. SpringMVC实现RESTful风格
  7. java 调用命令行
  8. 将一个数的字节顺序逆置
  9. Leetcode每日一题:148.sort-list(链表排序)
  10. 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析
  11. input输入框提示从数据库查出来的一堆数据
  12. 30天试用期到了_如何战胜被天气支配的恐惧?洗衣干衣不用看“天”,国美干衣机免费等你试!...
  13. JavaSE基础 ——运算符
  14. 分享5款2022年最好用的windows软件
  15. 设计模式-行为性模式(模板方法模式,策略模式,命令模式,责任链模式,观察者模式,中介者模式,迭代器模式)
  16. web案例-3D旋转魔方和太极
  17. 手把手入门C语言—输入数组
  18. UE4打包工程失败问题记录
  19. html怎么写海贼王旗帜图片,海贼王精美旗帜套图
  20. Ubuntu离线安装软件包

热门文章

  1. 【BZOJ 2726】任务安排【斜率优化dp】
  2. jenkins shell 权限_Jenkins+gitee+nuxt自动化部署
  3. php 留言回复对话_php实现留言板功能(会话控制)
  4. 简单解决 Blocked a frame with origin XXX from accessing a cross-origin 。iframe跨域问题
  5. call_user_func_array 调用回调函数
  6. 【Docker】拉取Oracle 11g镜像配置
  7. 【BZOJ3894】文理分科(最小割)
  8. 【JZOJ4832】【NOIP2016提高A组集训第3场10.31】高维宇宙
  9. 搭建 S3C6.410 开发板的 测试环境
  10. 【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑