8.2.2 单机部署步骤与目录规划

本节给出 Redis 单机部署的标准步骤与目录规划,覆盖安装、配置、验证、排错与练习,并给出清晰的命令说明与目录映射。

原理草图(单机部署关键路径)#

文章图片

部署前准备(含命令与解释)#

# 1) 创建专用用户与组(避免使用 root 运行)
groupadd -r redis
useradd -r -g redis -s /sbin/nologin redis

# 2) 安装依赖(gcc/make 用于编译,tcl 用于 make test)
yum -y install gcc make tcl

# 3) 基础系统参数(Redis 需要 overcommit 以降低内存分配失败)
sysctl -w vm.overcommit_memory=1
echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf

# 4) 文件句柄上限(提升并发连接数)
ulimit -n 65535
echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf

目录规划与创建(完整可执行)#

# 统一目录规划
install_dir=/usr/local/redis
conf_dir=/etc/redis
data_dir=/var/lib/redis
log_dir=/var/log/redis
run_dir=/var/run/redis

# 创建目录并授权
mkdir -p $install_dir $conf_dir $data_dir $log_dir $run_dir
chown -R redis:redis $data_dir $log_dir $run_dir

单机部署步骤(源码安装示例)#

# 1) 下载并解压(可替换为指定版本)
cd /usr/local/src
curl -O https://download.redis.io/releases/redis-7.2.4.tar.gz
tar -xzf redis-7.2.4.tar.gz
cd redis-7.2.4

# 2) 编译并安装
make -j$(nproc)
make test          # 可选:基本功能测试
make install PREFIX=/usr/local/redis

# 3) 初始化配置文件
cp redis.conf /etc/redis/redis.conf

核心配置修改(带关键参数说明)#

# /etc/redis/redis.conf 关键项(以下为示例替换)
bind 0.0.0.0                 # 允许远程访问,生产建议改为内网IP
port 6379                    # 服务端口
daemonize yes                # 后台运行
supervised no                # 不使用 systemd 管理时保持 no
dir /var/lib/redis/          # RDB/AOF 数据目录
logfile /var/log/redis/redis.log
pidfile /var/run/redis/redis.pid
appendonly yes               # 开启 AOF
appendfilename "appendonly.aof"
dbfilename dump.rdb

启动与验证(含预期结果)#

# 启动 Redis
/usr/local/redis/bin/redis-server /etc/redis/redis.conf

# 检查进程与端口
ps -ef | grep redis-server
ss -lntp | grep 6379

# 基础功能验证
/usr/local/redis/bin/redis-cli ping
# 预期输出:PONG

# 写入/读取测试
/usr/local/redis/bin/redis-cli set k1 v1
/usr/local/redis/bin/redis-cli get k1
# 预期输出:v1

常见排错(命令+解释)#

# 1) 启动失败:权限不足
# 现象:log 中提示 Permission denied
chown -R redis:redis /var/lib/redis /var/log/redis /var/run/redis

# 2) 端口冲突
# 查占用并终止或改 port
ss -lntp | grep 6379
# 修改配置:port 6380

# 3) 内存不足/被杀
# 查看 OOM 或 overcommit 设置
dmesg | tail -n 50
sysctl vm.overcommit_memory

关键目录与配置映射(对照表)#

  • dir /var/lib/redis/ → 数据文件目录(dump.rdb/appendonly.aof
  • logfile /var/log/redis/redis.log → 日志文件
  • pidfile /var/run/redis/redis.pid → 进程 ID 文件
  • redis-cli → 管理与验证工具

练习题(含操作要求)#

  1. 安装练习:在 /usr/local/redis 完成源码安装,要求 redis-cli ping 返回 PONG
  2. 配置练习:把 port 改为 6380 并重启,验证新端口监听。
  3. 排错练习:故意将 dir 指向不存在目录,观察日志报错并修复。
  4. 权限练习:将 /var/lib/redis 权限改为 root,再恢复为 redis 并验证可写。