CentOS安装redis

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CentOS安装redis脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1.安装第一个redis实例#查看已安装的redis版本/usr/local/redis/bin/redis-server -v

#yum查看redis各版本yum search --showduplicates redis

1. yum install -y gcc

2.该机器如果创建2个redis实例(redis、redis1),则先指定每个实例的log位置,并赋予写权限mkdir /data1/redis/log -ptouch /data1/redis/log/redis.logchmod 766 /data1/redis/log/redis.logmkdir /data1/redis1/log -ptouch /data1/redis1/log/redis1.logchmod 766 /data1/redis1/log/redis1.log

3.下载redis并解压mkdir /data1/softwarewget -P /data1/software http://download.redis.io/releases/redis-3.0.7.tar.gzcd /data1/softwaretar -zxvf redis-3.0.7.tar.gzcd /data1/software/redis-3.0.7#编译,然后安装到/usr/local目录下makemake install PREFIX=/usr/local/redis

4.创建软连接ln -s /usr/local/redis/bin/redis-server /usr/bin/redis-server

5.修改redis每个实例的配置文件/usr/local/bin/redis.conf

daemonize yes
pidfile /var/run/redis.pid #多实例要修改不同名称
bind 0.0.0.0
port 6379
unixsocket /tmp/redis.sock #多实例要修改不同名称
timeout 0
tcp-keepalive 0
databases 16

loglevel warning
logfile /data1/redis/log/redis.log #多实例要修改不同名称
dbfilename dump.rdb
dir /data1/redis/data #多实例要修改不同名称

cluster-enabled yes
cluster-config-file /usr/local/redis/cluster/nodes.conf
cluster-node-timeout 15000
cluster-migration-barrier 1
cluster-require-full-coverage yes

appendonly no

save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes

maxmemory 6096mb
maxclients 30000

appendfsync everysec
no-appendfsync-on-rewrite yes
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

 

6.新建redis开机自启动脚本/etc/init.d/redis,注意修改配置文件位置及配置文件端口chmod a+x /etc/init.d/redischkconfig redis on

/etc/init.d/redis内容如下,注意修改实例服务及配置文件路径

#!/bin/bash
#chkconfig: 2345 55 25
#description: Starts,stops and restart the redis-server
#usage: ./script_name {start|stop|status|restart}

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check networking is up.
[ "$NETWORKING" = "no" ] && exit 0

RETVAL=0
REDIS="/usr/local/redis/bin/redis-server"
PROG=$(basename $REDIS)
CONF="/usr/local/redis/bin/redis.conf"

if [ "$1" = "-f" ];then
    CONF=$2
fi

if [ ! -f $CONF ]; then
   echo -n $"$CONF not exist.";warning;echo
   exit 1
fi

REDIS_PORT=$(/bin/grep port ${CONF} | /bin/cut -d ' ' -f2)

PID_FILE=$(/bin/grep "pidfile" ${CONF}|cut -d ' ' -f2)
PID_FILE=${PID_FILE:=/var/run/redis.pid}
LOCKFILE="/var/lock/subsys/redis-${REDIS_PORT}"

if [ ! -x $REDIS ]; then
    echo -n $"$REDIS not exist.";warning;echo
    exit 0
fi

start() {

    echo never > /sys/kernel/mm/transparent_hugepage/enabled

    echo -n $"Starting $PROG: "
    # $REDIS $CONF
    # su nobody -s "/bin/sh" -c "$REDIS $CONF"
    daemon --user nobody "$REDIS $CONF"
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        success;echo;touch $LOCKFILE
    else
        failure;echo
    fi
    return $RETVAL

}

stop() {

    echo -n $"Stopping $PROG: "

    if [ -f $PID_FILE ] ;then
       read PID <  "$PID_FILE"
    else
       failure;echo;
       echo -n $"$PID_FILE not found.";failure;echo
       return 1;
    fi

    if checkpid $PID; then
     kill -TERM $PID >/dev/null 2>&1
        RETVAL=$?
        if [ $RETVAL -eq 0 ] ;then
                success;echo
                echo -n "Waiting for Redis to shutdown .."
         while checkpid $PID;do
                 echo -n "."
                 sleep 1;
                done
                success;echo;rm -f $LOCKFILE
        else
                failure;echo
        fi
    else
        echo -n $"Redis is dead and $PID_FILE exists.";failure;echo
        RETVAL=7
    fi
    return $RETVAL

}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    status)
        status -p ${PID_FILE} $PROG
        RETVAL=$?
        ;;
    *)
        #echo $"Usage: $0 {start|stop|status|restart}"
        echo $"Usage: $0 -f [redis configfile] {start|stop|status|restart}"
        RETVAL=1
esac

exit $RETVAL

其他实例安装,则只需要将 /usr/local/redis 复制即可,并新建开机自启动脚本,还有修改配置文件必要参数

脚本宝典总结

以上是脚本宝典为你收集整理的CentOS安装redis全部内容,希望文章能够帮你解决CentOS安装redis所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: