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

#!/bin/bash#2013-1-10LEOchanyipiaomiao@163.com#Blog:http://linux5588.blog.51cto.com#脚本功能#redis单机单实例一键安装脚本#注意事项#仅适用于Linux/Centos64位#安装时需联网#步骤#1.下载并安装libunwind软件包(是TCMalloc依赖包)#2.下载并安装TCMalloc#3.下载并安装redis#4.配置redis#5.准备redis启动停止脚本#6.启动redis#输出PATH变量exportPATH=/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]];thenmkdir-p $softwarefi#定义判断是否安装成功函数functioninstallIsOK(){if[[$2==0]];thenecho $1install......OK! elseecho $1install......Failure! exit1fi}#进入软件目录cd$software#1.下载并安装libunwind软件包(是TCMalloc依赖包)libunwind='libunwind-1.1'wgethttp://download.savannah.gnu.org/releases/libunwind/${libunwind}.tar.gztarzxf${libunwind}.tar.gzcd$libunwind./configure make makeinstallif[[$?==0]];theninstallIsOK${libunwind}0elseinstallIsOK${libunwind}1ficd$software#2.下载并安装TCMalloc#TCMalloc(google-perftools)是用于优化C++写的多线程应用,比glibc2.3的malloc快。这个模块可以用来优化redis性能gperftools='gperftools-2.0'wgethttp://gperftools.googlecode.com/files/${gperftools}.tar.gztarzxf${gperftools}.tar.gzcd$gperftools./configuremake makeinstallif[[$?==0]];theninstallIsOK${gperftools}0elseinstallIsOK${gperftools}2fiecho /usr/local/lib  /etc/ld.so.conf.d/usr_local_lib.confldconfigcd$software#3.下载并安装redisredis='redis-2.6.7'redis_dir='/usr/local/redis'wgethttp://redis.googlecode.com/files/${redis}.tar.gztarzxf${redis}.tar.gzcd$redismakePREFIX=${redis_dir}USE_TCMALLOC=yesinstallif[[$?==0]];theninstallIsOK${redis}0elseinstallIsOK${redis}3fi#4.配置redismkdir-p${redis_dir}/etcmkdir-p${redis_dir}/runmkdir-p${redis_dir}/data/6379mkdir-p${redis_dir}/logcpredis.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 daemonizeyespidfile/usr/local/redis/run/redis_6379.pidport6379#bind127.0.0.1timeout300loglevelnoticelogfile/usr/local/redis/log/redis.logdatabases16save9001save30010save6010000stop-writes-on-bgsave-errornordbcompressionyesrdbchecksumnodbfilenamedump.rdbdir/usr/local/redis/data/6379#slave-serve-stale-datayesmaxmemory256mbmaxmemory-policyvolatile-lrumaxmemory-samples3appendonlyyesappendfsynceverysecno-appendfsync-on-rewritenoauto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mblua-time-limit5000slowlog-log-slower-than10000slowlog-max-len1024hash-max-ziplist-entries512hash-max-ziplist-value64list-max-ziplist-entries512list-max-ziplist-value64set-max-intset-entries512zset-max-ziplist-entries128zset-max-ziplist-value64activerehashingyesclient-output-buffer-limitnormal000client-output-buffer-limitslave256mb64mb60client-output-buffer-limitpubsub32mb8mb60EOF#5.redis启动停止脚本redis_start= /etc/rc.d/init.d/redis cat ${redis_start}  END #!/bin/bashexportPATH= /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 instart)if[-f$$PIDFILE]thenecho $PIDFILEexists,processisalreadyrunningorcrashed. elseecho StartingRedisserver... $EXEC$CONFfi;;stop)if[!-f$PIDFILE]thenecho $PIDFILEdoesnotexist,processisnotrunning. elsePID=$(cat$PIDFILE)echo Stopping... $CLIEXEC-p$PORTshutdownwhile[-x/proc/${PID}]doecho WaitingforRedistoshutdown... sleep1doneecho Redisstopped. fi;;restart)$0stop $0start;;*)echo Usage:$0{start|stop|restart}  2exit1;;esacEND#增加可执行权限chmodu+x${redis_start}#6.启动redis${redis_start}startif[[$?==0]];thenecho redisstart......OK elseecho redisstart......Failure fi

附件:http://down.51cto.com/data/2362132

一只小狗在沙漠中旅行,找到了电线杆,结果还是憋死了,

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

相关文章:

你感兴趣的文章:

标签云: