CentOS 6.5 下安装 Redis 2.8.7

Redis 是一个开源的、高性能的键值对存储数据库,它支持多种数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(sorted sets)等。在 CentOS 6.5 系统中安装 Redis 2.8.7 可以为我们提供一个稳定的缓存和数据存储解决方案。本文将详细介绍在 CentOS 6.5 系统下安装 Redis 2.8.7 的步骤。

目录#

  1. 环境准备
  2. 下载 Redis 2.8.7
  3. 编译和安装 Redis
  4. 配置 Redis
  5. 启动 Redis 服务
  6. 测试 Redis 服务
  7. 常见问题及解决方案
  8. 总结
  9. 参考资料

1. 环境准备#

在开始安装 Redis 之前,我们需要确保系统已经安装了必要的编译工具和依赖库。可以使用以下命令来安装:

yum install -y gcc gcc-c++ make

上述命令会使用 yum 包管理器安装 GCC 编译器、GCC C++ 编译器和 make 工具,这些工具是编译 Redis 源码所必需的。

2. 下载 Redis 2.8.7#

可以从 Redis 的官方网站下载 Redis 2.8.7 的源码包。使用以下命令进行下载:

wget http://download.redis.io/releases/redis-2.8.7.tar.gz

wget 是一个常用的下载工具,该命令会从指定的 URL 下载 Redis 2.8.7 的压缩包到当前目录。

下载完成后,使用以下命令解压压缩包:

tar -zxvf redis-2.8.7.tar.gz

tar 是一个用于文件打包和解包的工具,-zxvf 选项表示以 gzip 格式解压文件。

3. 编译和安装 Redis#

进入解压后的 Redis 目录:

cd redis-2.8.7

然后进行编译:

make

make 命令会根据 Makefile 文件中的规则编译 Redis 源码。编译完成后,可以使用以下命令进行安装:

make install

该命令会将编译好的 Redis 二进制文件安装到系统默认的路径(通常是 /usr/local/bin)。

4. 配置 Redis#

在 Redis 目录下有一个示例配置文件 redis.conf,我们可以复制该文件并进行修改:

cp redis.conf /etc/redis.conf

使用文本编辑器(如 vim)打开 /etc/redis.conf 文件,进行以下常用配置:

  • 后台运行:将 daemonize no 修改为 daemonize yes,这样 Redis 就会在后台运行。
  • 绑定 IP:可以将 bind 127.0.0.1 修改为服务器的实际 IP 地址,以便其他机器可以访问 Redis 服务。
  • 端口号:默认端口号是 6379,如果需要修改,可以修改 port 6379 这一行。
  • 设置密码:取消 requirepass 前面的注释,并设置一个强密码,例如 requirepass yourpassword

5. 启动 Redis 服务#

使用以下命令启动 Redis 服务:

redis-server /etc/redis.conf

该命令会使用我们刚才配置好的 /etc/redis.conf 文件来启动 Redis 服务。

为了方便管理 Redis 服务,我们可以创建一个启动脚本。在 /etc/init.d 目录下创建一个名为 redis 的文件:

vim /etc/init.d/redis

将以下内容复制到文件中:

#!/bin/sh
# 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
 
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis.conf"
 
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 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 "Please use start, stop or restart as first argument"
        ;;
esac

保存并退出文件,然后赋予脚本执行权限:

chmod +x /etc/init.d/redis

现在可以使用以下命令启动、停止和重启 Redis 服务:

service redis start
service redis stop
service redis restart

还可以将 Redis 服务设置为随系统启动:

chkconfig --add redis
chkconfig redis on

6. 测试 Redis 服务#

启动 Redis 服务后,我们可以使用 redis-cli 工具来测试 Redis 服务是否正常工作。打开一个新的终端窗口,输入以下命令:

redis-cli -h 127.0.0.1 -p 6379 -a yourpassword

其中 -h 指定 Redis 服务器的 IP 地址,-p 指定端口号,-a 指定密码。如果成功连接到 Redis 服务器,会看到以下提示:

127.0.0.1:6379>

现在可以进行一些简单的操作,例如设置一个键值对:

127.0.0.1:6379> set mykey "Hello Redis"
OK

然后获取这个键的值:

127.0.0.1:6379> get mykey
"Hello Redis"

如果能够正常设置和获取键值对,说明 Redis 服务已经正常工作。

7. 常见问题及解决方案#

7.1 编译出错#

如果在 make 编译过程中出现错误,可能是由于系统缺少某些依赖库。可以尝试更新系统的软件包:

yum update -y

然后重新进行编译。

7.2 无法连接到 Redis 服务#

如果使用 redis-cli 无法连接到 Redis 服务,可能是由于以下原因:

  • 防火墙问题:检查系统的防火墙是否允许 Redis 服务的端口(默认是 6379)。可以使用以下命令开放端口:
iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
service iptables save
service iptables restart
  • 配置文件问题:检查 /etc/redis.conf 文件中的 bindport 配置是否正确。

8. 总结#

通过以上步骤,我们成功在 CentOS 6.5 系统下安装了 Redis 2.8.7,并进行了基本的配置和测试。Redis 是一个功能强大的键值对存储数据库,可以为我们的应用程序提供高效的缓存和数据存储解决方案。在实际使用中,我们可以根据需要进一步调整 Redis 的配置,以满足不同的业务需求。

9. 参考资料#