服务器如何安装配置Redis?服务器安装配置Redis详细步骤
服务器安装配置Redis的核心目标:高性能、低延迟、高可用的数据缓存与持久化服务。
在现代高并发架构中,Redis作为内存数据库,已成为缓存、会话管理、实时排行榜等场景的首选组件,本文基于生产环境实践,提供一套安全、稳定、可扩展的Redis安装与配置方案,适用于CentOS7+/Ubuntu20.04+主流Linux服务器。
安装前准备:环境与依赖确认(3步)
-
系统版本确认
- 执行
uname-r查看内核版本; - 推荐使用内核≥3.2的64位Linux系统(避免内存分配器jemalloc兼容性问题)。
- 执行
-
安装基础依赖
#CentOSyuminstall-ygccmaketcl#Ubuntuaptupdate&&aptinstall-ybuild-essentialtcl -
规划部署模式
- 单机版:适用于开发/测试环境;
- 主从+哨兵:中小规模生产环境;
- RedisCluster:高并发、高可用生产集群(本文重点讲解单机安装,集群部署另文详解)。
源码编译安装:确保版本可控与性能优化(5步)
-
下载稳定版源码(推荐Redis7.2LTS)
wgethttps://download.redis.io/releases/redis-7.2.5.tar.gztarxzfredis-7.2.5.tar.gz&&cdredis-7.2.5 -
启用Jemalloc内存分配器(提升高并发下内存效率)
makeMALLOC=Jemalloc -
编译测试(避免潜在内存错误)
maketest ✅关键点:若测试通过,说明系统内核与内存管理无兼容性风险。
-
安装至指定目录(避免污染系统路径)
makePREFIX=/usr/local/redisinstall -
验证安装结果
/usr/local/redis/bin/redis-server--version#输出:Redisserverv=7.2.5sha=00000000:0malloc=jemalloc-5.3.0bits=64
核心配置:安全、性能、持久化三重保障(4大关键项)
-
基础安全加固
- 禁止公网直接访问:
bind127.0.0.1(或内网IP); - 设置强密码:
requirepass'YourStr0ngP@ssw0rd!'(长度≥16位,含大小写+数字+符号); - 关闭危险命令:
rename-commandFLUSHALL""、rename-commandCONFIG""。
- 禁止公网直接访问:
-
内存与连接优化
- 设置最大内存:
maxmemory4gb(预留20%内存给系统); - 选择淘汰策略:
maxmemory-policyallkeys-lru(缓存场景推荐); - 调整连接数:
maxclients10000(配合ulimit-n65535)。
- 设置最大内存:
-
持久化策略(避免数据丢失)
- RDB快照:
save9001(15分钟1次,至少1次修改); - AOF日志:
appendonlyyes+appendfsynceverysec(兼顾性能与安全); - 禁止同时关闭RDB与AOF(生产环境必须开启至少一种)。
- RDB快照:
-
系统级调优(关键!)
- 禁用TransparentHugePages(THP):
echonever>/sys/kernel/mm/transparent_hugepage/enabled#写入/etc/rc.local实现开机禁用 - 调整TCPbacklog:
net.core.somaxconn=65535(/etc/sysctl.conf); - 启用
tcp-backlog:tcp-backlog511(Redis配置文件中)。
- 禁用TransparentHugePages(THP):
服务化部署:以systemd管理(3步)
-
创建服务文件:
vim/etc/systemd/system/redis.service```如下:```ini[Unit]Description=RedisIn-MemoryDataStoreAfter=network.target[Service]User=redisGroup=redisExecStart=/usr/local/redis/bin/redis-server/etc/redis/redis.confExecStop=/usr/local/redis/bin/redis-cli-a'YourStr0ngP@ssw0rd!'shutdownRestart=always[Install]WantedBy=multi-user.target -
创建运行用户与目录:
useradd-r-s/sbin/nologinredismkdir-p/var/lib/redis/var/log/redis/etc/redischown-Rredis:redis/var/lib/redis/var/log/redis/etc/redis -
启动并验证:
systemctldaemon-reloadsystemctlenableredissystemctlstartredisredis-cli-a'YourStr0ngP@ssw0rd!'ping#返回PONG即成功
监控与运维建议(3项必做)
-
基础监控项:
INFOserver(版本、运行时间);INFOmemory(内存使用、峰值);INFOclients(连接数、阻塞客户端);INFOpersistence(RDB/AOF状态)。
-
告警阈值建议:
- 内存使用率>85%;
- 连接数>80%maxclients;
- AOFrewrite耗时>30秒。
-
定期维护:
- 每周备份RDB/AOF文件;
- 每月执行
BGSAVE+DEBUGSLEEP0验证持久化完整性。
相关问答
Q1:服务器安装配置Redis时,为何推荐用Jemalloc而非默认的libc?
A:Jemalloc在高并发场景下内存碎片率更低(实测降低15%~30%),分配效率更高,且Redis官方从5.0起默认启用Jemalloc,兼容性与稳定性更优。
Q2:单机Redis如何避免因OOM导致服务崩溃?
A:必须配置maxmemory+合理的maxmemory-policy(如allkeys-lru),同时监控系统内存,确保Redis进程不会触发LinuxOOMKiller。
服务器安装配置Redis需兼顾安全、性能与可维护性,切忌直接使用默认配置上线。
您在部署中遇到过哪些典型问题?欢迎在评论区分享您的解决方案!