项目部署服务器后接入 Redis 完整流程

一、服务器先安装并启动 Redis(两种方案)

方案 1:yum 安装(CentOS7/8、Alinux)

复制代码
# 安装
yum install redis -y
# 开机自启
systemctl enable redis
# 启动
systemctl start redis
# 查看状态
systemctl status redis

方案 2:apt(Ubuntu/Debian)

复制代码
apt update && apt install redis-server -y
systemctl enable redis-server
systemctl start redis-server

方案 3:Docker 快速部署(推荐,环境干净)

复制代码
# 拉取镜像并后台运行,映射6379端口,设置密码123456
docker run -d \
--name redis \
-p 6379:6379 \
--restart always \
redis:latest \
redis-server --requirepass 123456

二、服务器 Redis 核心安全配置(必做!)

编辑配置文件:

复制代码
# yum安装路径
vim /etc/redis.conf
# docker方式不需要改配置,启动命令已设密码

修改 4 个关键项:

  1. 设置密码

    requirepass 自定义强密码(不要简单123456)

  2. 允许外部 IP 访问 注释掉 bind 127.0.0.1,否则只能本机连

    bind 127.0.0.1

  3. 关闭保护模式(外网访问必须)

    protected-mode no

  4. 端口默认 6379,如需修改同步防火墙放行

修改后重启 Redis:

复制代码
systemctl restart redis

三、服务器放行端口(防火墙 + 云服务器安全组)

1. 防火墙放行 6379

CentOS:

复制代码
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload

Ubuntu:

复制代码
ufw allow 6379

2. 云服务器额外操作(阿里云 / 腾讯云 / 华为云)

  1. 控制台找到安全组
  2. 入方向规则添加:端口 6379,授权对象 0.0.0.0/0(生产建议只放项目服务器内网 IP)

风险:0.0.0.0 所有人可连,线上尽量限制为本机 / 业务内网 IP

四、后端项目修改 Redis 连接配置(部署关键)

本地是 127.0.0.1,部署服务器要改成服务器公网 IP / 内网 IP

1. SpringBoot yml 示例

复制代码
spring:
  redis:
    host: 服务器公网IP # 重点:不能127.0.0.1
    port: 6379
    password: 你的redis密码
    database: 0
    lettuce:
      pool:
        max-active: 16
        max-idle: 8
        min-idle: 2

2. Node.js ioredis

复制代码
const redis = new Redis({
  host: '服务器公网IP',
  port: 6379,
  password: '你的密码',
  db: 0
})

3. Python redis-py

复制代码
pool = redis.ConnectionPool(
    host="服务器公网IP",
    port=6379,
    password="xxx",
    decode_responses=True
)

五、打包、上传、重启项目

  1. 本地改好配置,打包(jar/dist/ 二进制)
  2. 上传到服务器(scp / 宝塔面板)
  3. 重启后端服务:
  • SpringBoot Jar

    停止旧进程

    pkill -f jar包名

    后台启动

    nohup java -jar demo.jar > log.out 2>&1 &

  • Node

    pm2 restart app

  • Go

    nohup ./app > app.log &

六、服务器连通测试(先测通再启动项目,避免报错)

方式 1:服务器本地测试

复制代码
redis-cli -h 127.0.0.1 -p 6379 -a 你的密码
ping
# 返回PONG代表redis服务正常

方式 2:本地电脑远程连接测试(验证端口 / 安全组是否放行)

本地安装 redis 客户端执行:

复制代码
redis-cli -h 服务器公网IP -p 6379 -a 密码
ping
  • 连不上:安全组没开 6379 / 防火墙未放行 /redis 配置 bind 限制本地 / 密码错误

七、部署线上高频报错 & 解决方案

1. Connection refused 连接拒绝

原因:

  1. redis 只绑定 127.0.0.1,外部无法访问
  2. 防火墙没开 6379 端口
  3. 云服务器安全组未放行 6379
  4. redis 未启动

2. NOAUTH Authentication required

没配置 redis 密码,或项目配置的 password 填错

3. 项目本地能连,服务器启动报错连不上

项目配置 host 写成 127.0.0.1,jar 部署后 127.0.0.1 代表服务器本机,若 redis 装在另一台服务器就不通,改成 redis 服务器 IP

4. 线上大量连接超时 / 连接耗尽

  • 未使用连接池
  • 连接池参数过小,调大 max-active
  • redis 服务器内存不足,被系统 kill

八、生产环境部署优化(线上必看)

  1. Redis 和后端同内网部署 后端服务器和 Redis 服务器放同一内网,host 填内网 IP,不走公网,速度快、安全,安全组只放内网段
  2. 禁止公网直接暴露 Redis 不开放 0.0.0.0 访问,仅业务服务器 IP 可连接
  3. 持久化开启 RDB+AOF,防止宕机数据丢失
  4. 高可用:多台服务器用 Redis 哨兵 / 集群
  5. 不使用默认 6379 端口,修改端口降低扫描攻击风险
  6. 定期备份 redis 数据

九、特殊场景:Redis 单独一台服务器,后端另一台

  1. Redis 服务器:放行 6379,安全组允许后端服务器 IP
  2. 后端项目配置 host 填 Redis 服务器公网 / 内网 IP
  3. 两台服务器互通网络,测试 redis-cli 远程连通再启动项目