易网时代-编程资源站
Welcome
微信登录
首页
/
数据库
/
MySQL
/
redis单机单实例一键安装脚本
脚本功能
redis单机单实例一键安装脚本
注意事项
1.仅适用于Linux/CentOS 64位2.安装时需联网
步骤
1.下载并安装libunwind软件包(是TCMalloc依赖包)2.下载并安装TCMalloc3.下载并安装redis4.配置redis5.准备redis启动停止脚本6.启动redis
脚本内容
#!/bin/bash
# 2013-1-10 LEO chanyipiaomiao@163.com
# Blog: http://www.linuxidc.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
redis单机单实例一键安装脚本
免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2013年资料/5月/25日/redis单机单实例一键安装脚本关于Oracle表碎片整理Oracle 全表扫描及其执行计划(full table scan)相关资讯 Redis redis实例
Redis 非关系型数据库 ( Nosql ) (07月01日)
Java中使用Jedis操作Redis (04月08日)
在Ubuntu 14.04下安装Redis (01月31日)
关于 Redis的订阅发布 (04月15日)
MongoDB仲裁节点的理解及Memcached (02月13日)
关于redis中的Replication (01月29日)
本文评论 查看全部评论 (0)
表情: 姓名:
匿名
字数
同意评论声明
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图