宝塔服务器多站点配置多个redis节点

在本文中,描述了如何在一台服务器上设置多个Redis实例,每个实例运行在不同的端口,拥有独立的配置文件,如redis6380.conf和redis6381.conf。通过复制和修改配置文件、启动脚本,以及设置pid和log文件,确保每个实例的正常运行。最后,将这些Redis实例添加到自启动项,以便系统重启时自动启动。
摘要由CSDN通过智能技术生成

同一台服务器上部署不同的站点时,需要启动多个Redis实例:一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379。每个节点对应一个Redis配置文件,如:redis6380.conf、redis6381.conf。

  1. 在/www/server/redis拷贝多个redis.conf改为redis[端口号].conf
    并修改配置
    以及拷贝:redis.pid、redis.log、dump_6340.rdb
#cd /www/server/regis
#cp redis.conf redis6380.conf
#vi redis6380.conf           #注:修改redis6380.conf这一步可以进宝塔面板修改,只修改以下几项哦
port 6380
pidfile /www/server/redis/redis_6380.pid
logfile "/www/server/redis/redis_6380.log"
dbfilename dump_6380.rdb
  1. 进入/etc/init.d目录,拷贝多个redis启动项并修改配置
    修改下面脚本中的REDIS_PORT端口号
    #!/bin/sh
# chkconfig: 2345 56 26
# description: Redis Service

### BEGIN INIT INFO
# Provides:          Redis
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts Redis
# Description:       starts the BT-Web
### END INIT INFO

# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDIS_PORT="6380"
CONF="/www/server/redis/redis${REDIS_PORT}.conf"
REDISPORT=$(cat $CONF |grep port|grep -v '#'|awk '{print $2}')
REDISPASS=$(cat $CONF |grep requirepass|grep -v '#'|awk '{print $2}')
REDISHOST=$(cat $CONF |grep bind|grep -v '#'|awk '{print $2}')
if [ "$REDISPASS" != "" ];then
    REDISPASS=" -a $REDISPASS"
fi
if [ -f "/www/server/redis/start${REDIS_PORT}.pl" ];then
    STARPORT=$(cat /www/server/redis/start${REDIS_PORT}.pl)
else
    STARPORT="${REDIS_PORT}"
fi
EXEC=/www/server/redis/src/redis-server
CLIEXEC="/www/server/redis/src/redis-cli -h $REDISHOST -p $STARPORT$REDISPASS"
PIDFILE=/var/run/redis_${REDIS_PORT}.pid

redis_start(){
    if [ -f $PIDFILE ]
    then
            echo "$PIDFILE exists, process is already running or crashed"
    else
            echo "Starting Redis server..."
            nohup sudo -u redis $EXEC $CONF >> /www/server/redis/logs${REDIS_PORT}.pl 2>&1 &
            echo ${REDISPORT} > /www/server/redis/start${REDIS_PORT}.pl
    fi
}
redis_stop(){
        echo "Stopping ..."
        $CLIEXEC shutdown
        sleep 1
        PID=`ps aux|grep "sudo -u redis"|grep -v "grep"|grep -v "/etc/init.d/redis${REDIS_PORT}"|awk '{print $2}'`
        if [ "${PID}" != "" ];then
                sleep 3
                pkill -9 redis-server
                rm -f $PIDFILE
        fi
        echo "Redis stopped"
}


case "$1" in
    start)
        redis_start
        ;;
    stop)
        redis_stop
        ;;
    restart|reload)
        redis_stop
        sleep 0.3
        redis_start
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
3. 把redis6380……添加到自启动项,查看启动项
 cd /etc/init.d
 
./redis6380 start
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿巴资源站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值