一、查看并确认光盘设备
执行命令查看系统块设备,确认光驱设备存在
lsblk
输出结果:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSsda 8:0 0 100G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 63.9G 0 lvm / ├─openeuler-swap 253:1 0 4G 0 lvm [SWAP] └─openeuler-home 253:2 0 31.2G 0 lvm /homesr0 11:0 1 3.5G 0 rom
二、挂载光驱ISO镜像
# 创建挂载目录mkdir -p /mnt/iso# 挂载光驱设备mount /dev/sr0 /mnt/iso# 进入挂载目录查看文件cd /mnt/isols
挂载提示(正常只读警告,可忽略):
mount: /mnt/iso: WARNING: source write-protected, mounted read-only.
ISO目录文件列表:
docs EFI images isolinux ks Packages repodata RPM-GPG-KEY-openEuler TRANS.TBL
三、配置本地ISO离线YUM/DNF源
1. 备份原有默认repo源
mkdir -p /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
2. 新建本地ISO源配置文件
vi /etc/yum.repos.d/local_iso.repo
写入以下配置内容:
[BaseOS]name=BaseOSbaseurl=file:///mnt/isoenabled=1gpgcheck=0
3. 刷新YUM缓存
# 清理旧缓存dnf clean all# 生成新缓存dnf makecache
执行结果:
0 files removedBaseOS 20 MB/s | 3.4 MB 00:00Last metadata expiration check: 0:00:01 ago on 2026年08月02日 星期日 14时48分34秒.Metadata cache created.
4. 安装编译依赖环境
dnf install -y gcc gcc-c++ make cmake jemalloc-devel openssl-devel systemd-devel tar wget curl
四、Redis 7.2.5 源码编译安装
1. 解压安装包(提前下载上传到相应目录)
cd /usr/local/src/ls -lhtar -zxvf redis-7.2.5.tar.gzcd redis-7.2.5
2. 编译并安装Redis
# 使用jemalloc内存分配器编译make MALLOC=jemalloc# 指定安装目录make PREFIX=/usr/local/redis install
五、创建运行目录与系统用户
1. 初始化业务目录
# 配置文件目录mkdir -p /usr/local/redis/conf# 数据持久化目录mkdir -p /data/redis# 日志存储目录(本次未使用后面有说明)
mkdir -p /var/log/redis
2. 创建Redis专用运行用户
# 创建无登录系统用户useradd -M -s /sbin/nologin redis# 授权目录权限chown -R redis:redis /usr/local/redis /data/redis /var/log/redis
六、配置Redis生产环境配置文件
1. 拷贝默认配置文件
cp redis.conf /usr/local/redis/conf/redis.confvi /usr/local/redis/conf/redis.conf
2. 核心生产配置(修改/新增如下内容,根据自己需要配置)
# 1.运行用户user redis# 2.前台运行,适配systemd simple托管模式(官方标准搭配)daemonize no# 3.关闭Redis自带日志文件输出,避免与systemd journal日志冲突、双日志写入乱码logfile ""# 4.持久化数据目录dir /data/redis# 5.开启RDB持久化save 900 1save 300 10save 60 10000# 6.AOF持久化(防数据丢失)appendonly yesappendfilename "appendonly.aof"# 7.访问密码(与systemd服务文件保持一致)requirepass Redis@2026## 8.仅内网本机访问,禁止外网暴露bind 127.0.0.1# 如需内网其他机器连接:bind 0.0.0.0 + 防火墙放行6379# 9.禁用高危危险命令(安全加固)rename-command CONFIG ""rename-command FLUSHDB ""rename-command FLUSHALL ""rename-command KEYS ""# 10.最大内存及淘汰策略(根据服务器内存调整)maxmemory 4gmaxmemory-policy allkeys-lru# 11.服务端口、保活时间port 6379tcp-keepalive 60# 关闭保护模式(内网监听场景必备,避免启动告警)protected-mode no
七、配置Systemd系统服务
1. 创建redis.service服务文件
vi /etc/systemd/system/redis.service
服务配置内容:
[Unit]Description=Redis Production ServiceAfter=network.target[Service]# 核心:simple 前台托管,和daemonize no配对,官方标准Type=simpleUser=redisGroup=redis# 生产高并发文件句柄、进程数限制LimitNOFILE=65535LimitNPROC=65535# 关键:解决openEuler权限隔离,允许读取系统变量PrivateTmp=false# 启动命令ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf# 优雅关闭:带密码正常shutdown,持久化落盘,不会暴力杀进程丢数据ExecStop=/usr/local/redis/bin/redis-cli -a Redis@2026# shutdown# 异常自动重启Restart=on-failureRestartSec=3# 输出日志到systemd日志,便于排查StandardOutput=journal+consoleStandardError=journal+console[Install]WantedBy=multi-user.target
2. 配置全局命令软链接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli
3. 启动并管理Redis服务
# 重载系统服务配置systemctl daemon-reload# 设置开机自启systemctl enable redis# 停止原有进程(若存在)systemctl stop redis# 启动Redis服务systemctl start redis# 查看服务运行状态systemctl status redis
八、服务监听端口验证
ss -tlnp | grep 6379
正常运行输出:
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=15063,fd=6))
九、生产环境全量功能校验(必做)
1. 服务状态校验
确认Redis服务为 running 状态、开机自启已启用
# 查看运行状态systemctl status redis# 查看开机自启状态systemctl is-enabled redis
正常输出:enabled
2. Redis密码与连接校验
# 连接Redisredis-cli# 输入密码认证AUTH Redis@2026## 查看服务信息ping
正常返回:PONG,代表连接与密码认证正常
3. 数据读写功能校验
# 写入测试数据set test_key "redis_prod_ok"# 读取测试数据get test_key
正常返回测试值,证明读写功能正常
4. 持久化功能校验
重启服务验证数据不丢失,验证RDB/AOF持久化生效
# 重启Redis服务systemctl restart redis# 重新连接查看数据redis-cliAUTH Redis@2026#get test_key
重启后数据保留,证明持久化配置正常生效
5. 系统日志排查校验
适配systemd日志托管模式,查看运行日志无报错、无告警
# 查看Redis运行日志journalctl -u redis -f# 查看最新启动日志journalctl -u redis --since "10 minutes ago"
无 error、warning 告警即为生产正常状态
十、生产部署最终优化说明
本次整套部署为官方标准生产适配方案,无配置冲突、无隐性BUG,核心适配逻辑如下:
进程托管适配:
daemonize no+ systemdType=simple标准组合,由系统统一托管进程,稳定性远超传统后台运行模式日志规范统一:关闭Redis本地日志,全部交由systemd journal管理,避免日志冲突、乱码、重复写入,方便统一排查运维问题
安全加固完整:密码认证、内网IP绑定、高危命令禁用、保护模式关闭,满足生产安全基线要求
高并发适配:开启最大文件句柄与进程数限制,适配高并发业务场景
数据安全保障:RDB+AOF双持久化、优雅停机指令,杜绝停机数据丢失问题
十一、常见运维操作命令
# 启动服务systemctl start redis# 停止服务(优雅停机,持久化落盘)systemctl stop redis# 重启服务systemctl restart redis# 查看运行状态systemctl status redis# 取消开机自启systemctl disable redis
夜雨聆风