在 openEuler 上安装与部署 Redis 的完整技术教程
适用系统 :openEuler 20.03 LTS / 21.03 / 22.03-LTS 及以上版本
Redis 版本 :7.x(以源码编译方式安装)
适用场景:单机部署、开发测试或生产环境基础配置
📌 一、前言
openEuler 是由华为发起并开源的 Linux 发行版,广泛应用于服务器、云计算和边缘计算场景。Redis 是高性能的内存键值数据库,常用于缓存、会话存储、消息队列等。
本文将详细介绍如何在 openEuler 系统上从源码编译安装 Redis,并完成基本的安全配置与开机自启动设置。
🔧 二、准备工作
1. 系统环境检查
bash
# 查看操作系统版本
cat /etc/os-release
# 示例输出:
# NAME="openEuler"
# VERSION="22.03 (LTS-SP1)"
确保系统已联网,且具备 root 或 sudo 权限。
2. 安装必要依赖工具
bash
sudo dnf update -y
sudo dnf install -y gcc make wget tar net-tools vim git
💡 注意:openEuler 使用
dnf包管理器(类似 CentOS 的 yum)
📦 三、下载并编译安装 Redis
1. 下载 Redis 源码包(以 v7.2.5 为例)
bash
cd /tmp
wget https://download.redis.io/releases/redis-7.2.5.tar.gz
tar -zxvf redis-7.2.5.tar.gz
mv redis-7.2.5 /usr/local/redis-src
2. 编译 Redis
bash
cd /usr/local/redis-src
make
⏱️ 编译时间约 1~3 分钟,取决于主机性能
验证是否编译成功:
bash
src/redis-server --version
# 输出示例:Redis server v=7.2.5 ...
3. 安装到系统目录(默认安装到 /usr/local/bin)
bash
sudo make install
这会将以下可执行文件复制到 /usr/local/bin:
redis-server:Redis 服务端redis-cli:命令行客户端redis-benchmark:性能测试工具redis-check-aof,redis-check-rdb:数据恢复工具
⚙️ 四、配置 Redis 服务
1. 创建配置文件目录和工作目录
bash
sudo mkdir -p /etc/redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
2. 复制默认配置模板
bash
sudo cp /usr/local/redis-src/redis.conf /etc/redis/redis.conf
sudo chown -R root:root /etc/redis/redis.conf
3. 修改关键配置项
编辑配置文件:
bash
sudo vim /etc/redis/redis.conf
修改以下参数(建议搜索定位):
| 配置项 | 推荐值 | 说明 |
|---|---|---|
bind 127.0.0.1 |
→ bind 0.0.0.0 |
允许远程连接(生产环境应绑定内网IP) |
protected-mode yes |
→ protected-mode no |
关闭保护模式(配合密码使用更安全) |
port 6379 |
保持默认 | 可根据需要更改 |
daemonize no |
→ daemonize yes |
后台运行 |
pidfile /var/run/redis_6379.pid |
→ /run/redis_6379.pid |
openEuler 中推荐路径 |
loglevel notice |
→ loglevel warning |
减少日志输出 |
logfile "" |
→ logfile "/var/log/redis/redis-server.log" |
指定日志文件 |
dir /usr/local/bin |
→ dir /var/lib/redis |
数据持久化目录 |
requirepass yourpassword |
→ 取消注释并设置强密码 | 设置访问密码(如:requirepass MyP@ssw0rd!2025) |
✅ 示例片段(重要部分):
conf
bind 0.0.0.0
port 6379
daemonize yes
pidfile /run/redis_6379.pid
logfile /var/log/redis/redis-server.log
dir /var/lib/redis
requirepass YourStrongPasswordHere!
maxmemory 512mb
maxmemory-policy allkeys-lru
🔒 生产建议:不要开放公网访问,使用防火墙限制 IP。
🔌 五、创建 systemd 服务(开机自启)
1. 创建服务文件
bash
sudo vim /etc/systemd/system/redis.service
写入以下内容:
ini
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=root
Group=root
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli -a YourStrongPasswordHere! shutdown
Restart=always
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
⚠️ 注意替换
YourStrongPasswordHere!为你的实际密码
2. 重载 systemd 并启用服务
bash
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable redis
sudo systemctl start redis
3. 检查服务状态
bash
sudo systemctl status redis
正常输出包含:
active (running)
Main PID: xxxxx (redis-server)
🔍 六、验证 Redis 是否正常运行
1. 检查监听端口
bash
ss -tulnp | grep 6379
# 应看到 redis-server 监听中
2. 使用 redis-cli 连接测试
bash
redis-cli -h 127.0.0.1 -p 6379 -a YourStrongPasswordHere!
进入后执行:
bash
ping
# 返回:PONG
set test "hello openEuler"
get test
# 返回:"hello openEuler"
exit
🔐 七、安全加固建议(生产环境必做)
| 建议 | 操作 |
|---|---|
| ❌ 禁止使用默认密码 | 必须设置复杂密码 |
| ✅ 限制 bind 地址 | 如仅允许内网访问:bind 192.168.1.100 |
| ✅ 配置防火墙 | 仅允许特定 IP 访问 6379 端口 |
bash
# 示例:使用 firewalld 开放指定 IP
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload
| 建议 | 操作 |
|---|---|
| ✅ 禁用危险命令 | 如 FLUSHDB, CONFIG 等(通过 rename-command) |
在 redis.conf 中添加:
conf
rename-command FLUSHDB my_flush_db_123
rename-command CONFIG ""
🔄 八、常用管理命令汇总
bash
# 启动
sudo systemctl start redis
# 停止
sudo systemctl stop redis
# 重启
sudo systemctl restart redis
# 查看状态
sudo systemctl status redis
# 查看日志
tail -f /var/log/redis/redis-server.log
# 客户端连接
redis-cli -a 'YourPassword' ping
💾 九、持久化配置建议
Redis 支持两种持久化方式:
1. RDB(快照,默认开启)
conf
save 900 1
save 300 10
save 60 10000
2. AOF(追加日志,更安全)
conf
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
✅ 建议生产环境同时启用 RDB + AOF
🧪 十、性能测试(可选)
bash
redis-benchmark -h 127.0.0.1 -p 6379 -a YourPassword -n 10000 -c 50
查看每秒处理请求数(QPS),评估性能表现。
📝 总结
| 步骤 | 内容 |
|---|---|
| ✅ 第一步 | 安装依赖并下载 Redis 源码 |
| ✅ 第二步 | 编译安装 make && make install |
| ✅ 第三步 | 配置 redis.conf 关键参数 |
| ✅ 第四步 | 创建 systemd 服务实现开机自启 |
| ✅ 第五步 | 设置密码、防火墙、禁用高危命令 |