单机Redis安装部署全攻略
引言
Redis作为一款高性能的内存数据库,以其丰富的数据结构、原子性操作和持久化支持,广泛应用于缓存、消息队列、实时分析等场景。单机Redis的安装部署是使用Redis的基础,本文将详细介绍从环境准备到服务启动的全流程,帮助开发者快速搭建稳定的Redis服务。
一、环境准备
1.1 操作系统选择
Redis支持多种操作系统,包括Linux(推荐)、macOS和Windows(社区版)。生产环境建议使用Linux系统(如CentOS、Ubuntu),因其稳定性、性能优化和社区支持更优。
1.2 依赖安装
Redis依赖C语言编译环境,需安装gcc、make等工具。以CentOS为例:
sudo yum install -y gcc make
Ubuntu系统使用:
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直接下载:
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
2.2 解压与编译
解压源码包并进入目录:
tar -zxvf redis-7.2.4.tar.gzcd redis-7.2.4
编译Redis:
make
若需优化性能,可启用JEMALLOC内存分配器(推荐):
make MALLOC=jemalloc
2.3 安装与目录结构
编译完成后,Redis可执行文件位于src目录。建议将文件复制到统一目录(如/usr/local/redis):
sudo mkdir -p /usr/local/redissudo cp src/{redis-server,redis-cli,redis-benchmark} /usr/local/redis/
三、配置文件优化
3.1 默认配置
Redis默认配置文件为redis.conf,位于源码根目录。建议复制到安装目录:
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)。
- RDB快照:配置
- 内存限制:设置
maxmemory(如maxmemory 2gb),避免OOM。 - 认证:启用密码
requirepass yourpassword。
3.3 配置示例
bind 0.0.0.0protected-mode noport 6379daemonize yeslogfile "/var/log/redis/redis.log"dir "/var/lib/redis"save 900 1save 300 10save 60 10000appendonly yesappendfsync everysecmaxmemory 2gbrequirepass yourpassword
四、启动与停止
4.1 前台启动
直接运行redis-server:
/usr/local/redis/redis-server
按Ctrl+C停止。
4.2 后台启动
使用配置文件启动:
/usr/local/redis/redis-server /usr/local/redis/redis.conf
4.3 停止服务
安全停止Redis:
/usr/local/redis/redis-cli shutdown
或强制终止(不推荐):
pkill -9 redis-server
五、基础运维
5.1 连接测试
使用redis-cli连接:
/usr/local/redis/redis-cli -h 127.0.0.1 -p 6379 -a yourpassword
执行命令测试:
127.0.0.1:6379> SET test "hello"OK127.0.0.1:6379> GET test"hello"
5.2 日志查看
Redis日志默认位于/var/log/redis/redis.log,使用tail实时查看:
tail -f /var/log/redis/redis.log
5.3 性能监控
使用redis-benchmark测试性能:
/usr/local/redis/redis-benchmark -n 100000 -q
输出示例:
PING_INLINE: 104712.04 requests per secondSET: 102040.82 requests per secondGET: 103092.78 requests per second
六、常见问题与解决
6.1 端口冲突
若端口被占用,修改redis.conf中的port参数,或终止占用进程:
netstat -tulnp | grep 6379kill -9 <PID>
6.2 权限问题
确保Redis数据目录(dir)和日志目录可写:
sudo chown -R redis:redis /var/lib/redissudo chown -R redis:redis /var/log/redis
6.3 内存不足
若Redis因内存不足被OOM Killer终止,调整maxmemory或增加服务器内存。
七、总结
单机Redis的安装部署涉及环境准备、源码编译、配置优化和基础运维。通过合理配置持久化、内存限制和认证,可构建稳定高效的Redis服务。后续可扩展至集群部署、高可用方案(如Sentinel)或分片(如Redis Cluster),以满足更大规模的业务需求。
附:快速安装脚本
#!/bin/bash# 安装依赖sudo yum install -y gcc make wget# 下载并解压wget https://download.redis.io/releases/redis-7.2.4.tar.gztar -zxvf redis-7.2.4.tar.gzcd redis-7.2.4# 编译安装make MALLOC=jemallocsudo mkdir -p /usr/local/redissudo cp src/{redis-server,redis-cli} /usr/local/redis/sudo cp redis.conf /usr/local/redis/# 配置优化sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/' /usr/local/redis/redis.confsed -i 's/^protected-mode yes/protected-mode no/' /usr/local/redis/redis.confsed -i 's/^# requirepass foobared/requirepass yourpassword/' /usr/local/redis/redis.conf# 启动服务/usr/local/redis/redis-server /usr/local/redis/redis.confecho "Redis installed and running on port 6379"
通过本文的指导,开发者可快速完成单机Redis的部署,并为后续的运维和扩展打下坚实基础。