1. 开篇:为什么要在Rocky Linux上折腾Redis?
大家好,我是老张,在运维和开发这个圈子里摸爬滚打了十几年,经手过的大大小小的项目,几乎都离不开Redis这个“瑞士军刀”。无论是做高并发缓存、秒杀系统,还是做实时消息队列,Redis的表现从来没让我失望过。最近几年,随着CentOS的谢幕,Rocky Linux作为它的“精神续作”,凭借其稳定性和企业级支持,成了我们这些老运维的新宠。
今天,我就来和大家聊聊在Rocky Linux上部署Redis这件事。你可能觉得,装个Redis还不简单?dnf install redis一条命令不就完事了?没错,对于快速搭建测试环境,这确实是最佳选择。但如果你面对的是生产环境,需要考虑性能极致优化、特定版本需求,或者想深入理解Redis的编译构建过程,那么从源码编译安装就是你必须掌握的技能了。
这篇文章,我会把这两种最主流的方法——DNF包管理器一键安装和手动源码编译安装——掰开了、揉碎了讲给你听。不止是告诉你命令怎么敲,更会分享我这些年踩过的坑、调优的参数,以及如何根据你的业务场景做出最合适的选择。无论你是刚接触Rocky Linux的新手,还是寻求部署最佳实践的老鸟,相信都能找到你需要的东西。
2. 环境准备与规划:磨刀不误砍柴工
在真正动手安装之前,花几分钟做好规划和准备,能帮你避开后面一大堆莫名其妙的错误。这就像盖房子前要先看图纸、打地基一样重要。
2.1 系统更新与基础检查
首先,确保你的Rocky Linux系统是最新的。这能避免很多因软件包版本过旧导致的依赖问题。打开终端,用root用户或者有sudo权限的账号执行:
sudo dnf update -y
sudo dnf upgrade --refresh -y
更新完成后,建议重启一下系统,确保所有更新生效。接下来,确认一下你的系统版本,因为不同版本的Rocky Linux(比如8.x和9.x)在软件仓库和默认配置上可能会有细微差别。
cat /etc/redhat-release
# 或者
hostnamectl
2.2 版本选择:稳定版还是最新版?
这是部署前第一个要做的决策。Redis的版本策略比较清晰:偶数版本(如6.2、6.4、7.0、7.2)是稳定版,奇数版本(如7.1、7.3)是开发版。对于生产环境,无脑选择最新的稳定版是最稳妥的。比如目前(以我写文章的时间点)Redis 7.2.x就是最新的稳定系列。
- DNF安装:Rocky Linux官方仓库提供的Redis版本通常会比社区最新稳定版慢1-2个主版本。例如,Rocky Linux 9的默认AppStream仓库可能提供的是Redis 6.2.7。这个版本非常稳定,经过了充分的测试和向后兼容性验证,适合绝大多数对“追新”没有强需求的业务场景。
- 源码编译:这给了你最大的自由度,可以直接从Redis官网或GitHub下载最新的稳定版源码(如7.2.4)。适合需要最新特性(例如Redis 7.x的ACL细粒度权限控制、多线程I/O)、或需要对Redis进行深度定制化编译(如选择特定的内存分配器)的场景。
我的建议是:如果你不确定,生产环境先用DNF安装的稳定版。 在测试环境用源码安装最新版进行验证和性能对比,等摸熟了再考虑升级生产环境。
2.3 防火墙与SELinux考量
Redis默认监听6379端口。在正式开放服务前,必须处理好防火墙和SELinux,否则你会遇到“本地能连,远程死活连不上”的经典问题。
-
防火墙(FirewallD):Rocky Linux默认使用firewalld。你需要开放6379端口。
sudo firewall-cmd --permanent --add-port=6379/tcp sudo firewall-cmd --reload # 验证端口是否开放 sudo firewall-cmd --list-ports更规范的做法是将Redis服务添加到防火墙规则中,但需要先确认是否有对应的service定义。如果没有,直接开放端口是最快的。
-
SELinux:对于学习或测试环境,很多人会图省事直接禁用SELinux(
sudo setenforce 0并修改/etc/selinux/config)。但在生产环境,我强烈建议保持SELinux为Enforcing模式,并通过正确的标签和策略来管理。对于Redis,如果使用非标准端口或数据目录,你可能需要调整文件上下文标签,例如:# 假设你的自定义数据目录是 /data/redis sudo semanage fcontext -a -t redis_var_lib_t '/data/redis(/.*)?' sudo restorecon -Rv /data/redis初期如果遇到权限问题,可以查看
/var/log/audit/audit.log日志,使用audit2why和audit2allow工具来分析和生成临时策略模块。
3. 方法一:使用DNF包管理器安装(推荐新手与快速部署)
这种方式最大的优点就是快、稳、省心。所有依赖、服务管理、日志轮转都帮你自动配置好了,特别适合需要快速搭建一个标准、可维护的Redis服务的情况。
3.1 安装与启动
安装过程简单到令人发指:
# 搜索仓库中的Redis版本
sudo dnf module list redis
# 直接安装默认版本的Redis(通常是6.2.x)
sudo dnf install -y redis
# 安装完成后,立即启动并设置开机自启
sudo systemctl enable --now redis
这里enable --now是一个组合命令,相当于enable(设置开机自启)加start


1165

被折叠的 条评论
为什么被折叠?



