从零到一:在云服务器上部署与配置Redis的完整指南

在当今的云原生时代,高效的数据缓存是提升应用性能的关键。Redis,作为一款高性能的键值对内存数据库,因其卓越的速度和丰富的数据结构,已成为现代应用架构中不可或缺的组件。本文将手把手指导你如何在云服务器上完成Redis的安装、配置、启动与管理,涵盖从基础部署到生产环境安全配置的全过程,助你快速搭建起可靠的云服务缓存层。

一、准备工作与源码编译安装

在云平台部署任何服务,准备工作都至关重要。首先,你需要一台云服务器,并确保拥有SSH访问权限。Redis由C语言编写,因此在编译前必须安装必要的编译工具链。

核心步骤概述:

  • 安装编译依赖: 使用包管理器安装gcc等工具,这是后续编译成功的基础。
  • 获取Redis源码: 前往Redis官网下载稳定版本的源码压缩包。

以下是安装编译依赖的命令:

CentOS 系统安装编译依赖
yum install -y gcc gcc-c++ make wget

依赖安装完成后,将下载的安装包上传至你的云服务器。你可以使用scp命令或SFTP可视化工具完成此操作。

上传后,在服务器上解压安装包:

#解压到当前目录,生成 redis-5.0.14 文件夹
#那个目录运行就解压到那个目录里
tar -zxvf redis-5.0.14.tar.gz

接下来进入解压后的目录,开始编译源码。这个过程会将C源码编译为可执行文件。

cd redis-5.0.14
make

编译成功后,终端会显示包含“LINK”字样的提示信息。

最佳实践: 为了保持云服务器文件系统的整洁,建议将Redis安装到指定目录,而非系统默认路径。

make PREFIX=/usr/local/redis install

执行安装命令后,Redis的可执行文件就会被安装到 /usr/local/redis/bin 目录下。

最后,将源码目录中的配置文件复制到安装目录,以便后续管理。

#1. 创建 conf/data/log 目录(用于放配置、数据、日志)
mkdir -p /usr/local/redis/{conf,data,log}
#2. 拷贝配置文件到 conf 目录
cp /usr/local/src/redis/redis-5.0.14/redis.conf /usr/local/redis/conf/

此时,查看安装目录下的bin文件夹,你应该能看到包括redis-serverredis-cli在内的所有可执行文件。

[AFFILIATE_SLOT_1]

二、关键安全配置:密码与远程访问

在云部署环境中,安全是首要考虑因素。默认安装的Redis没有密码且可能禁止远程连接,这存在巨大风险。

1. 设置访问密码: 编辑安装目录下的 redis.conf 文件,找到关于密码的配置行。

requirepass foobared

取消注释,并将其修改为一个强密码。

requirepass your_strong_password

2. 启用远程访问(针对Redis 4.0+): 如果你需要从其他云服务或本地机器连接云服务器上的Redis,需要绑定到所有网络接口。找到配置文件中 bind 设置。

将其修改为以下内容,允许所有IP连接(生产环境建议结合防火墙做IP限制)。

⚠️ 重要提醒: 仅开放远程访问而不设置强密码,等同于将你的数据暴露在公网上。同时,别忘了在云服务商的安全组(如阿里云安全组、AWS安全组)中开放Redis的默认端口6379

所有配置修改完成后,需要重启Redis服务以使配置生效。

#先停止当前运行的 Redis
redis-cli shutdown
#在启动即可

三、启动模式详解:前端与后端

Redis支持两种运行模式,适用于不同场景。

前端模式启动: 此模式会将日志直接输出到当前控制台,常用于调试。需要先将配置文件中的 daemonize 参数设为 no

进入安装目录的bin文件夹,直接启动:

./redis-server

这种方式不会加载自定义配置文件。若要指定配置文件,需在启动时显式指明路径。

cd /usr/local/redis
./bin/redis-server ./conf/redis.conf

后端模式(守护进程)启动: 这是生产环境的推荐方式。Redis进程会在后台运行,不占用当前终端。将 daemonize 参数设为 yes

然后以后端模式启动服务:

cd /usr/local/redis
./bin/redis-server ./conf/redis.conf

启动后,可以使用以下命令检查Redis进程是否正常运行:

此外,你可以使用RDM、Another Redis Desktop Manager等可视化工具连接你的云Redis服务,直观地管理数据。

四、高级管理:多实例与安全停止

有时,为了隔离不同应用的数据或进行测试,我们需要在同一台云服务器上运行多个Redis实例。

方法一:指定不同端口启动
这是最快捷的方式,在启动命令中通过 --port 参数指定新端口。

cd /usr/local/redis
./bin/redis-server ./conf/redis.conf --port 6380

方法二(推荐,利于管理):复制目录并独立配置
此方法为每个实例创建独立的目录和配置文件,更清晰。

  1. 复制整个Redis安装目录。
 cp -R redis6377 redis
  1. 修改新目录下的 redis.conf,设置不同的 port
  2. 分别启动每个目录下的 redis-server

启动后,可以查看所有Redis进程:

安全停止Redis服务: 强行使用 kill -9 命令可能导致数据丢失。正确的停止方式是通过客户端发送 SHUTDOWN 命令。

对于无密码的Redis实例:

./bin/redis-cli -p 端口号 -a 密码 shutdown save
cd /usr/local/redis
#执行停止命令,默认停止6379端口的Redis
./bin/redis-cli shutdown save
#如果要停止非默认端口的Redis,需要在命令中指定端口
./bin/redis-cli -p 6377 shutdown save

对于有密码的Redis实例,直接执行上述命令会报错:

推荐三种安全的停止方式:

  • 命令行带密码(不推荐用于生产): 密码会留在历史记录中。
./bin/redis-cli -a 密码 shutdown save
  • 使用环境变量(适合脚本): 密码不直接暴露在命令行。
#1. 临时设置环境变量(仅当前终端有效)
export REDISCLI_AUTH=LSL03699
#2. 直接执行停止命令,会自动用环境变量里的密码认证
./bin/redis-cli shutdown save  # 6377端口就加 -p 6377
  • 交互式认证(最安全): 先通过 redis-cli 连接,再执行停止命令。
#1. 只连接客户端,不输密码
./bin/redis-cli  # 如果是6377端口就加 -p 6377,不加默认就是6379
#2. 连接后再输密码(输入时不会显示明文)
auth LSL03699
#3. 执行停止命令
shutdown save
[AFFILIATE_SLOT_2]

五、总结与最佳实践

通过以上步骤,你已经成功在云服务器上搭建并配置了一个功能完备的Redis服务。回顾关键点:从源码编译安装确保环境纯净;设置强密码和绑定地址是云部署的安全基石;根据场景选择前端或后端启动模式;掌握多实例部署能力以满足复杂需求;最后,务必使用安全命令停止服务以保障数据完整性。

将Redis部署在云平台,你不仅能获得弹性的计算资源,还能轻松与云存储、其他云原生服务集成,构建高性能、可扩展的现代应用架构。记住,定期备份配置文件、监控内存使用以及适时升级版本,是长期稳定运维的保证。

posted on 2026-03-19 10:25  blfbuaa  阅读(72)  评论(0)    收藏  举报