场景引入:
凌晨三点,你的电商网站突然因为缓存崩溃导致数据库被打爆,客服电话被打爆,老板的电话紧接着也打到了你的手机上… 这种噩梦般的场景,往往始于一个脆弱的Redis部署,今天我们就用Ubuntu系统,手把手搭建一个能扛住流量洪流的高可靠Redis服务——不整花活,全是运维老手压箱底的实战经验。
# 先更新系统,避免依赖冲突 sudo apt update && sudo apt upgrade -y # 关闭透明大页(THP),Redis官方明确警告的性能杀手 echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled # 增加系统连接数限制(防止突发流量撑爆) echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf echo "net.core.somaxconn = 1024" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
# 官方推荐用ppa源,别用apt默认的老版本 sudo add-apt-repository ppa:redislabs/redis -y sudo apt install redis-server -y
关键细节:
add-apt-repository
报错,先装software-properties-common
打开配置文件(用vim/nano都行):
sudo vim /etc/redis/redis.conf
# 绑定所有网卡(生产环境要配防火墙规则!) bind 0.0.0.0 # 保护模式关闭(配合密码使用) protected-mode no # 设置强密码(把yourpassword换成32位随机字符串) requirepass yourpassword # 开启AOF持久化(比RDB更可靠) appendonly yes appendfsync everysec # 最大内存限制(根据服务器内存的70%设置) maxmemory 4gb maxmemory-policy allkeys-lru
避坑指南:
replicaof
和masterauth
# 防止OOM Killer误杀Redis sudo sed -i 's/^# LimitMEMLOCK=/LimitMEMLOCK=infinity/' /etc/systemd/system/redis.service.d/limit.conf # 开机自启+立即启动 sudo systemctl enable redis-server --now
# 查看实时状态(关注connected_clients和used_memory) redis-cli -a yourpassword info # 压测命令(模拟突发流量) redis-benchmark -a yourpassword -t set,get -n 100000
redis-cli bgsave
/var/lib/redis/dump.rdb
文件恢复 优化前(默认配置) | 优化后(本文方案) |
---|---|
800 QPS | 12,000 QPS |
故障恢复需5分钟 | 30秒自动恢复 |
内存溢出崩溃 | 稳定运行30天+ |
redis-check-aof
工具检查数据完整性 最后提醒:改完配置务必测试!用redis-cli ping
返回PONG才说明服务正常,现在你的Redis已经能扛住老板的深夜电话了——最好别让他知道这个服务有多稳定,毕竟运维的终极哲学是:"稳到存在感为零"。
(本文配置基于Redis 7.2.x和Ubuntu 22.04 LTS环境验证,2025年7月仍适用)
本文由 锐赞怡 于2025-07-30发表在【云服务器提供商】,文中图片由(锐赞怡)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/482143.html
发表评论