京东云CVM实例中部署Redis需要哪些步骤?

在京东云(JD Cloud)CVM(Cloud Virtual Machine)实例中部署 Redis,可分为手动部署(推荐用于学习/测试)和使用京东云托管服务(推荐用于生产)两种路径。以下是详细、安全、可落地的操作步骤:

✅ 一、前提准备(所有方式均需)

  1. 创建并登录 CVM 实例

    • 选择操作系统:推荐 Ubuntu 22.04 LTSCentOS 7.9 / Alibaba Linux 3(注意 CentOS 8+ 已停止维护,不建议新用)。
    • 安全组配置(关键!):
      ✅ 放行 6379 端口(Redis 默认端口)——仅限必要 IP(如应用服务器内网 IP),严禁开放 0.0.0.0/0 公网访问
      ✅ 若需远程管理,建议通过 SSH 端口(22)+ 跳板机或京东云堡垒机,不直接暴露 Redis 到公网
      ✅ 建议启用内网通信(如应用与 Redis 同 VPC,使用私有 IP 通信更安全高效)。
  2. 更新系统 & 安装基础工具

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl wget gcc make build-essential tcl gnupg2
    
    # CentOS/Alibaba Linux
    sudo yum update -y
    sudo yum groupinstall "Development Tools" -y
    sudo yum install -y wget gcc make tcl epel-release

✅ 二、【推荐】方式一:手动编译安装 Redis(可控性强,适合自定义配置)

⚠️ 注意:京东云未提供官方 Redis 镜像,但支持主流 Linux 发行版,手动部署成熟稳定。

  1. 下载并编译安装 Redis(以最新稳定版 7.2.x 为例)

    cd /tmp
    # 下载(替换为官网最新链接:https://redis.io/download)
    wget https://download.redis.io/releases/redis-7.2.5.tar.gz
    tar xzf redis-7.2.5.tar.gz
    cd redis-7.2.5
    make && sudo make install
    # 验证安装
    redis-server --version  # 应输出 Redis server v=7.2.5
  2. 创建运行用户与目录结构(安全最佳实践)

    sudo useradd -r -s /bin/false redis
    sudo mkdir /etc/redis /var/lib/redis /var/log/redis
    sudo chown redis:redis /var/lib/redis /var/log/redis /etc/redis
    sudo chmod 755 /var/lib/redis
  3. 配置 Redis(关键:禁用公网、启用密码、持久化)

    sudo cp redis.conf /etc/redis/redis.conf
    sudo chown redis:redis /etc/redis/redis.conf

    编辑 /etc/redis/redis.conf(使用 sudo nano /etc/redis/redis.conf)修改以下核心项:

    bind 127.0.0.1 10.0.0.10   # ✅ 绑定本地 + CVM 内网 IP(如 10.0.0.10),禁止 0.0.0.0
    protected-mode yes          # ✅ 必须开启(默认已开)
    port 6379                   # 可选:如需改端口,同步更新安全组
    tcp-backlog 511
    timeout 0
    tcp-keepalive 300
    loglevel notice
    logfile "/var/log/redis/redis-server.log"
    dir /var/lib/redis          # 数据目录
    daemonize no                # Systemd 管理时设为 no(由服务管理进程守护)
    supervised systemd          # ✅ 启用 systemd 托管
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename dump.rdb
    save 900 1                  # RDB 持久化策略(按需调整)
    save 300 10
    save 60 10000
    # ✅ 强烈建议设置密码(生产环境必须!)
    requirepass YourStrongPassword2024!  # 替换为高强度密码(12位+大小写字母+数字+符号)
    # ✅ 禁用高危命令(可选但推荐)
    rename-command FLUSHDB ""
    rename-command FLUSHALL ""
    rename-command CONFIG ""
    rename-command EVAL ""
  4. 配置 systemd 服务(实现开机自启 & 日志管理)
    创建服务文件:

    sudo nano /etc/systemd/system/redis-server.service

    内容如下:

    [Unit]
    Description=Advanced key-value store
    After=network.target
    
    [Service]
    Type=notify
    User=redis
    Group=redis
    ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
    ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a YourStrongPassword2024! shutdown
    Restart=always
    RestartSec=10
    TimeoutSec=300
    LimitNOFILE=10032
    NoNewPrivileges=yes
    
    [Install]
    WantedBy=multi-user.target

    启用并启动服务:

    sudo systemctl daemon-reload
    sudo systemctl enable redis-server
    sudo systemctl start redis-server
    sudo systemctl status redis-server  # 检查是否 active (running)
  5. 防火墙确认(若启用 ufw/firewalld)

    # Ubuntu (ufw)
    sudo ufw allow from 10.0.0.0/16 to any port 6379  # 仅允许同 VPC 内网段
    sudo ufw enable
    
    # CentOS (firewalld)
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.0/16" port port="6379" protocol="tcp" accept'
    sudo firewall-cmd --reload
  6. 连接测试(本机验证)

    redis-cli -h 127.0.0.1 -p 6379 -a YourStrongPassword2024!
    > SET test "hello-jdcloud"
    > GET test
    "hello-jdcloud"
    > AUTH YourStrongPassword2024!  # 如未在命令行指定密码,需先认证

✅ 三、【强烈推荐生产环境】方式二:使用京东云「Redis 云数据库」(JD Cloud Redis)

✅ 优势:高可用(主从+哨兵/集群)、自动备份、监控告警、弹性扩缩容、免运维、SSL 加密、VPC 隔离、同城多可用区容灾。
❌ 不适用场景:需深度定制内核参数、特殊模块(如 RedisJSON/RediSearch)且版本受限。

部署步骤(控制台/CLI/API):

  1. 登录 京东云控制台 → 进入「数据库」→「云数据库 Redis」;
  2. 点击「创建实例」:
    • 选择地域与可用区(建议与业务 CVM 同地域同 VPC);
    • 实例规格:根据 QPS/内存需求选择(如 redis.g.small.2 = 2GB 内存);
    • 架构:推荐「集群版」(自动分片,水平扩展)或「主从版」(高可用);
    • 网络:务必选择与 CVM 相同的 VPC 和子网
    • 安全组:自动关联(或手动添加规则,仅放行 CVM 内网 IP);
    • 密码:设置强密码(控制台强制要求);
    • 备份策略:开启自动备份(建议每天1次,保留7天);
  3. 创建成功后,获取「内网连接地址」(如 r-xxxxxxxxjdcloud.com:6379);
  4. 在 CVM 中测试连接(需安装 redis-cli):
    redis-cli -h r-xxxxxxxx.jdcloud.com -p 6379 -a YourRedisPassword

💡 提示:京东云 Redis 支持直连(无需配置 bind)、自带监控大盘(QPS、内存、延迟)、慢日志、一键诊断,大幅降低运维成本。


✅ 四、安全加固补充(必做!)

  • 🔐 禁用公网访问:CVM 上 Redis 绝不绑定 0.0.0.0;云数据库 Redis 默认不分配公网地址,切勿手动开通;
  • 📜 最小权限原则:应用连接使用专用密码,避免共用;
  • 🛡️ 定期更新:手动部署需关注 Redis CVE(如 CVE-2022-0543),及时升级;云数据库由京东云自动打补丁;
  • 📊 监控告警
    • CVM 自建:配合京东云「云监控」配置 Redis 端口存活、内存使用率、连接数阈值告警;
    • 云数据库 Redis:控制台内置监控,可对接京东云告警服务(邮件/短信/钉钉);
  • 🧹 日志轮转:配置 logrotate 防止日志占满磁盘(/var/log/redis/*.log)。

✅ 总结建议:

场景 推荐方案 理由
开发/测试/轻量级应用 CVM 手动部署 Redis 灵活、低成本、便于调试
生产环境(中高并发、需 SLA 保障) ✅ 京东云 Redis 托管服务 高可用、免运维、安全合规、弹性伸缩、专业支持
需 Redis Modules(如 RedisAI、RedisGraph) CVM 自建 + 源码编译启用模块 云数据库当前模块支持有限(请查阅最新文档)

📌 最后提醒:

⚠️ 永远不要将 Redis 暴露到公网! 即使设置了密码,也存在未授权访问风险(如 Redis 4.x 以前存在 CONFIG 命令写 shell 漏洞)。务必通过 VPC 内网 + 安全组双重隔离。

如需我为你生成:
🔹 完整的 redis.conf 安全模板(含注释)
🔹 systemd 服务脚本(适配不同发行版)
🔹 Redis 连接池配置(Spring Boot / Python redis-py 示例)
🔹 京东云 CLI 创建 Redis 实例命令
欢迎随时提出 👍

祝你在京东云上 Redis 部署顺利、稳定、安全!