在CentOS系统中编译安装Redis需要一系列明确的步骤,包括环境准备、依赖安装、源码下载、编译配置、服务部署及后续维护,以下是详细的操作指南,确保整个过程清晰且易于执行。

环境准备与依赖安装
在开始编译安装前,需要确保系统基础环境已就绪,首先更新系统软件包列表并安装必要的编译工具,如gcc、make和wget,执行以下命令:
sudo yum update -y sudo yum install -y gcc make wget
Redis的运行需要C语言支持,同时部分高级功能依赖jemalloc或tcmalloc内存分配器,建议提前安装,若需启用SSL支持,需安装openssl-devel:
sudo yum install -y jemalloc-devel openssl-devel
下载Redis源码
从Redis官网获取最新稳定版源码包,以Redis 7.2.0为例,使用wget下载并解压:
wget http://download.redis.io/releases/redis-7.2.0.tar.gz tar -zxvf redis-7.2.0.tar.gz cd redis-7.2.0
确保下载的源码与系统架构匹配,避免编译失败。
编译与配置Redis
进入源码目录后,执行make命令进行编译,若需自定义安装路径或开启特定功能(如集群支持),可通过make参数调整:

make PREFIX=/usr/local/redis install
编译完成后,可运行make test进行基础测试(需tcl支持,可通过yum install -y tcl安装),配置文件位于源码目录的redis.conf,可根据需求修改,例如绑定IP、设置持久化策略和密码:
vim redis.conf # 修改以下参数 bind 0.0.0.0 requirepass your_strong_password
创建系统服务与启动
为方便管理,可将Redis注册为系统服务,首先创建服务文件:
sudo vim /etc/systemd/system/redis.service ```如下: ```ini [Unit] Description=Redis In-Memory Data Store After=network.target [Service] ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf ExecStop=/usr/local/redis/bin/redis-cli -a your_strong_password shutdown Restart=always User=redis Group=redis [Install] WantedBy=multi-user.target
创建专用用户并设置权限:
sudo useradd -r -s /bin/false redis sudo mkdir -p /usr/local/redis/etc sudo cp redis.conf /usr/local/redis/etc/ sudo chown -R redis:redis /usr/local/redis
启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable redis sudo systemctl start redis
验证与优化
检查Redis服务状态:

sudo systemctl status redis redis-cli -a your_strong_password ping
若返回PONG,则安装成功,为提升性能,可调整系统参数,如文件描述符限制和内存分配策略:
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
安全与维护建议
- 防火墙配置:开放Redis端口(默认6379)仅限可信IP访问:
sudo firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6379" accept" sudo firewall-cmd --reload
- 日志与备份:定期备份RDB文件,并配置日志轮转防止磁盘占满。
- 版本更新:关注Redis官方更新,通过备份配置文件后重复上述编译步骤升级。
FAQs
Q1: 编译时报错“fatal error: jemalloc/jemalloc.h: No such file or directory”如何解决?
A: 此错误表示缺少jemalloc开发库,执行sudo yum install -y jemalloc-devel安装后重新编译即可,若仍报错,可尝试在make命令后添加MALLOC=libc参数,使用系统默认内存分配器。
Q2: 如何设置Redis开机自启且后台运行?
A: 通过服务文件(如前文redis.service)的WantedBy=multi-user.target实现开机自启,后台运行需确保redis.conf中daemonize yes已启用,但推荐使用系统服务管理而非直接运行后台进程,以便统一管理。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复