ECS搭建2.8版本的redis

要在ECS(Elastic Compute Service)上手动搭建Redis 2.8版本,你可以按照以下步骤操作:

步骤1:更新系统和安装依赖

首先,登录到你的ECS实例,确保系统是最新的并安装必要的依赖包:

sudo yum update -y    # 若使用的是基于RHEL/CentOS的系统
sudo apt-get update   # 若使用的是基于Debian/Ubuntu的系统

sudo yum groupinstall "Development Tools" -y    # RHEL/CentOS
sudo apt-get install build-essential -y         # Debian/Ubuntu

步骤2:下载Redis 2.8版本的源码

进入工作目录并下载Redis 2.8的源码包:

cd /usr/local/src
wget http://download.redis.io/releases/redis-2.8.24.tar.gz

步骤3:解压并编译源码

解压下载的源码包并编译:

tar zxvf redis-2.8.24.tar.gz
cd redis-2.8.24
make

步骤4:安装Redis

将编译完成的Redis安装到你的系统中:

sudo make install

步骤5:配置Redis

为Redis创建一个配置文件和工作目录:

sudo mkdir /etc/redis
sudo mkdir /var/redis/6379
sudo cp redis.conf /etc/redis/6379.conf

编辑配置文件以适应你的需求:

sudo vi /etc/redis/6379.conf

在配置文件中,可以根据需要修改以下几个重要配置:

  • daemonize yes 让Redis以守护进程方式运行
  • pidfile /var/run/redis_6379.pid 设置PID文件路径
  • port 6379 设置监听端口
  • dir /var/redis/6379 设置数据库的工作目录

步骤6:创建启动脚本

为了方便管理Redis服务,可以创建一个启动脚本:

sudo vi /etc/init.d/redis_6379

在脚本中写入以下内容:

#!/bin/sh
# Redis init script
# chkconfig:   2345 90 10
# description: Redis is a persistent key-value database

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
CONF="/etc/redis/${REDISPORT}.conf"
PASSWD=`grep  -oP  '(?<=requirepass ).*' $CONF`

PIDFILE=/var/run/redis_${REDISPORT}.pid

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 $REDISPORT -a "$PASSWD" shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    restart|force-reload)
        ${0} stop
        ${0} start
        ;;
    *)
        echo "Usage: /etc/init.d/redis_6379 {start|stop|restart|force-reload}" >&2
        exit 1
esac

步骤7:启动Redis服务

使用启动脚本来启动Redis服务:

sudo /etc/init.d/redis_6379 start

步骤8:设置Redis开机自启

将Redis服务添加到系统服务列表中,使其开机时自动启动:

sudo chkconfig --add redis_6379
sudo chkconfig --level 345 redis_6379 on

到这里,你已经成功在ECS实例上手动搭建了Redis 2.8版本。你可以通过以下命令来验证Redis服务是否工作正常:

redis-cli ping

如果返回 PONG,则表示Redis正在正常运行。

加入到system里面进行管理:
vim /etc/systemd/system/redis.service

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
ExecStop=/usr/local/bin/redis-cli -a 'Redis@123' -p 6379 shutdown
Restart=always
PIDFile=/var/run/redis_6379.pid
ExecStartPost=/bin/sh -c 'echo $MAINPID > /var/run/redis_6379.pid'

[Install]
WantedBy=multi-user.target

解释

  1. [Unit]

    • Description:简单描述服务的用途。
    • After:指定服务应在网络服务启动后启动。
  2. [Service]

    • UserGroup:指定服务应以哪个用户和组身份运行,确保正确的权限控制。
    • ExecStart:启动Redis服务器的命令,使用其配置文件。
    • ExecStop:停止Redis服务器的命令,注意增加了 -p 6379 以指定端口,如果你的Redis服务器运行在不同端口,请调整这个参数。
    • Restart:指定服务崩溃或意外停止时自动重启。
    • PIDFile:指定Redis进程的PID文件路径。
    • ExecStartPost:在ExecStart之后执行一个命令,这里用来写入Redis进程的PID到指定的PID文件中。

刷新 systemd 配置并启动服务

在修改完 redis.service 文件后,记得重新加载 systemd 配置并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable redis.service
sudo systemctl start redis.service

检查服务状态

使用以下命令检查Redis服务的状态,确保其正常运行:

sudo systemctl status redis.service -l

其他注意事项

  • 权限检查:确保运行Redis的用户有权限读取和写入配置文件和PID文件。你可以使用 chownchmod 命令来调整文件权限。例如:

    sudo chown redis:redis /etc/redis/6379.conf
    sudo chown redis:redis /var/run/redis_6379.pid
    sudo chmod 640 /etc/redis/6379.conf
    sudo chmod 640 /var/run/redis_6379.pid
    
  • 缺点:如果你的环境中有多个Redis实例,请确保每个实例的配置文件、端口号、PID文件等都是唯一的。

通过上述步骤和提示,你应该可以将Redis服务成功地集成到systemd中,并进行有效的管理。如果在实际操作中仍然遇到任何问题,可以查看相关的日志文件以获取更多的错误信息。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值