脚本功能 redis单机单实例一键安装脚本 注意事项 1.仅适用于Linux/Centos 64位 2.安装时需联网 步骤 1.下载并安装libunwind软件包(是TCMalloc依赖包) 2...."> 脚本功能 redis单机单实例一键安装脚本 注意事项 1.仅适用于Linux/Centos 64位 2.安装时需联网 步骤 1.下载并安装libunwind软件包(是TCMalloc依赖包) 2...." /> 脚本功能 redis单机单实例一键安装脚本 注意事项 1.仅适用于Linux/Centos 64位 2.安装时需联网 步骤 1.下载并安装libunwind软件包(是TCMalloc依赖包) 2...." />
用户登录
用户注册

分享至

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

  • 作者: 无利可图
  • 来源: 51数据库
  • 2020-09-04
editor-side-new">

脚本功能

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

注意事项

1.仅适用于Linux/Centos 64位

2.安装时需联网

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

 

 

附件:http://down.51cto.com/data/2362132
软件
前端设计
程序设计
Java相关