单机Redis安装部署全攻略

单机Redis安装部署全攻略

引言

Redis作为一款高性能的内存数据库,以其丰富的数据结构、原子性操作和持久化支持,广泛应用于缓存、消息队列、实时分析等场景。单机Redis的安装部署是使用Redis的基础,本文将详细介绍从环境准备到服务启动的全流程,帮助开发者快速搭建稳定的Redis服务。

一、环境准备

1.1 操作系统选择

Redis支持多种操作系统,包括Linux(推荐)、macOS和Windows(社区版)。生产环境建议使用Linux系统(如CentOS、Ubuntu),因其稳定性、性能优化和社区支持更优。

1.2 依赖安装

Redis依赖C语言编译环境,需安装gcc、make等工具。以CentOS为例:

  1. sudo yum install -y gcc make

Ubuntu系统使用:

  1. sudo apt-get install -y gcc make

1.3 网络与防火墙配置

确保服务器端口(默认6379)开放,允许外部访问。若使用云服务器,需在安全组规则中添加入站规则:

  • 协议:TCP
  • 端口范围:6379
  • 源:0.0.0.0/0(或指定IP)

二、Redis安装

2.1 下载源码

访问Redis官网(https://redis.io)下载稳定版源码包,或使用wget直接下载:

  1. wget https://download.redis.io/releases/redis-7.2.4.tar.gz

2.2 解压与编译

解压源码包并进入目录:

  1. tar -zxvf redis-7.2.4.tar.gz
  2. cd redis-7.2.4

编译Redis:

  1. make

若需优化性能,可启用JEMALLOC内存分配器(推荐):

  1. make MALLOC=jemalloc

2.3 安装与目录结构

编译完成后,Redis可执行文件位于src目录。建议将文件复制到统一目录(如/usr/local/redis):

  1. sudo mkdir -p /usr/local/redis
  2. sudo cp src/{redis-server,redis-cli,redis-benchmark} /usr/local/redis/

三、配置文件优化

3.1 默认配置

Redis默认配置文件为redis.conf,位于源码根目录。建议复制到安装目录:

  1. sudo cp redis.conf /usr/local/redis/

3.2 关键配置项

  • 绑定IP:修改bind参数,指定监听地址(如0.0.0.0允许所有IP访问,或指定内网IP)。
  • 保护模式:生产环境建议关闭protected-mode no(需配合认证使用)。
  • 端口:默认6379,可修改为其他端口(如port 6380)。
  • 持久化
    • RDB快照:配置save 900 1(900秒内至少1次修改触发快照)。
    • AOF日志:启用appendonly yes,选择同步策略(如appendfsync everysec)。
  • 内存限制:设置maxmemory(如maxmemory 2gb),避免OOM。
  • 认证:启用密码requirepass yourpassword

3.3 配置示例

  1. bind 0.0.0.0
  2. protected-mode no
  3. port 6379
  4. daemonize yes
  5. logfile "/var/log/redis/redis.log"
  6. dir "/var/lib/redis"
  7. save 900 1
  8. save 300 10
  9. save 60 10000
  10. appendonly yes
  11. appendfsync everysec
  12. maxmemory 2gb
  13. requirepass yourpassword

四、启动与停止

4.1 前台启动

直接运行redis-server

  1. /usr/local/redis/redis-server

Ctrl+C停止。

4.2 后台启动

使用配置文件启动:

  1. /usr/local/redis/redis-server /usr/local/redis/redis.conf

4.3 停止服务

安全停止Redis:

  1. /usr/local/redis/redis-cli shutdown

或强制终止(不推荐):

  1. pkill -9 redis-server

五、基础运维

5.1 连接测试

使用redis-cli连接:

  1. /usr/local/redis/redis-cli -h 127.0.0.1 -p 6379 -a yourpassword

执行命令测试:

  1. 127.0.0.1:6379> SET test "hello"
  2. OK
  3. 127.0.0.1:6379> GET test
  4. "hello"

5.2 日志查看

Redis日志默认位于/var/log/redis/redis.log,使用tail实时查看:

  1. tail -f /var/log/redis/redis.log

5.3 性能监控

使用redis-benchmark测试性能:

  1. /usr/local/redis/redis-benchmark -n 100000 -q

输出示例:

  1. PING_INLINE: 104712.04 requests per second
  2. SET: 102040.82 requests per second
  3. GET: 103092.78 requests per second

六、常见问题与解决

6.1 端口冲突

若端口被占用,修改redis.conf中的port参数,或终止占用进程:

  1. netstat -tulnp | grep 6379
  2. kill -9 <PID>

6.2 权限问题

确保Redis数据目录(dir)和日志目录可写:

  1. sudo chown -R redis:redis /var/lib/redis
  2. sudo chown -R redis:redis /var/log/redis

6.3 内存不足

若Redis因内存不足被OOM Killer终止,调整maxmemory或增加服务器内存。

七、总结

单机Redis的安装部署涉及环境准备、源码编译、配置优化和基础运维。通过合理配置持久化、内存限制和认证,可构建稳定高效的Redis服务。后续可扩展至集群部署、高可用方案(如Sentinel)或分片(如Redis Cluster),以满足更大规模的业务需求。

附:快速安装脚本

  1. #!/bin/bash
  2. # 安装依赖
  3. sudo yum install -y gcc make wget
  4. # 下载并解压
  5. wget https://download.redis.io/releases/redis-7.2.4.tar.gz
  6. tar -zxvf redis-7.2.4.tar.gz
  7. cd redis-7.2.4
  8. # 编译安装
  9. make MALLOC=jemalloc
  10. sudo mkdir -p /usr/local/redis
  11. sudo cp src/{redis-server,redis-cli} /usr/local/redis/
  12. sudo cp redis.conf /usr/local/redis/
  13. # 配置优化
  14. sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/' /usr/local/redis/redis.conf
  15. sed -i 's/^protected-mode yes/protected-mode no/' /usr/local/redis/redis.conf
  16. sed -i 's/^# requirepass foobared/requirepass yourpassword/' /usr/local/redis/redis.conf
  17. # 启动服务
  18. /usr/local/redis/redis-server /usr/local/redis/redis.conf
  19. echo "Redis installed and running on port 6379"

通过本文的指导,开发者可快速完成单机Redis的部署,并为后续的运维和扩展打下坚实基础。