网信办前厅 Redis 6.2.7 安装与运维

仅在新服务器 10.10.235.2 执行。用于两套前厅 PHP,不替换食安、达梦、Nginx或已有Redis。

已确认的部署约定

1. 校验和解压(root)

将tar.gz及同名.sha256上传/workspace/front-runtime-packages/后:

cd /workspace/front-runtime-packages
sha256sum -c zhct-redis627-kylin-x64-20261027.tar.gz.sha256

确认成功后,仅在解压目录不存在时:

(
  set -e
  cd /workspace/front-runtime-packages
  if [ -e zhct-redis627-kylin-x64-20261027 ] || [ -L zhct-redis627-kylin-x64-20261027 ]; then
    echo '解压目录已存在,停止,不覆盖'
    exit 1
  fi
  tar -xzf zhct-redis627-kylin-x64-20261027.tar.gz
  cd zhct-redis627-kylin-x64-20261027
  sha256sum -c PAYLOAD.sha256
)

2. 安装,不启动(root)

cd /workspace/front-runtime-packages/zhct-redis627-kylin-x64-20261027
bash install.sh

没有交互提问,没有密码提示。检查x86_64/glibc2.28、包内校验、依赖、专用目录与6379占用;目标或用户已存在就停止,不覆盖、不删除。安装失败保留现场,先发输出再按已完成阶段续办,不盲目重跑。

安装只创建独立运行目录/数据目录/系统账号和服务文件,并daemon-reload;不start、不enable,不停止已有服务,不复制旧RDB/AOF,不修改两套食安或前厅源码。

3. 启动与检查(安装通过后单独执行)

systemctl start zhct-redis627
systemctl status zhct-redis627 --no-pager -l
ss -lntp | grep -E ':6379[[:space:]]'
/opt/zhct-redis627/bin/redis-cli -h 127.0.0.1 -p 6379 PING
/opt/zhct-redis627/bin/redis-cli -h 127.0.0.1 -p 6379 INFO server | grep -E '^(redis_version|process_id|tcp_port|config_file):'

预期PONG、6.2.7、config_file为本包独立配置,仅127.0.0.1监听。

使用已经验收的PHP做小范围真实读写:

runuser -u zhctfront -- /opt/zhct-php73/bin/php /opt/zhct-redis627/scripts/check-php-client.php

先核对Redis版本及config_file,再用随机专用键验DB8/9中文、TTL,finally仅删测试自己的键。绝不FLUSHDB/FLUSHALL,不写前厅业务键。通过后:

systemctl enable zhct-redis627
systemctl is-enabled zhct-redis627

4. 日常命令

systemctl status zhct-redis627 --no-pager -l
journalctl -u zhct-redis627 -n 80 --no-pager
/opt/zhct-redis627/bin/redis-cli INFO memory
/opt/zhct-redis627/bin/redis-cli INFO persistence
/opt/zhct-redis627/bin/redis-cli INFO keyspace

维护窗口中才执行停止/重启,会影响两套前厅的缓存、队列和会话:

systemctl stop zhct-redis627
systemctl start zhct-redis627
systemctl restart zhct-redis627

优雅停止会刷持久化;不要kill -9,不删除/data/redis/zhct下的RDB/AOF。AOF每秒策略不等于零数据丢失备份,也不替代独立恢复方案。journal保留由服务器journald策略决定,本包不更改全局日志保留。

5. 应用切换前待办

旧两套Redis配置均指向旧DB8;新两套按DB8/9区分。数据库SQL冻结不代表Redis队列/会话/去重状态可直接丢弃。应用启用前要按旧业务前缀和类型核对队列、锁、会话及幂等状态;不整体复制旧DB8两次,不擅自清空旧实例。本包不携带旧Redis数据,不宣称完成旧状态迁移。

第一套数据库已完整验收,禁止重导。两套食安继续运行;客户服务器整体重启继续暂缓。

来源与验证边界

官方Redis6.2.7源码:https://download.redis.io/releases/redis-6.2.7.tar.gz 。源码SHA256:b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319。 编译环境x86_64/glibc2.28/GCC7.3.0,BUILD_TLS=no;只依赖宿主glibc核心库,授权文件随包。真实隔离测试结果见validation.json;隔离回归不能代替客户现场PHP、服务开机恢复和前厅业务验收。未在客户服务器预先执行安装或重启。