CentOS Stream 9 Redis 7.2.7 源码编译一键安装脚本

CentOS Stream 9 Redis 7.2.7 源码编译一键安装脚本

  • 自动编译、自动配置、自动 systemd 托管
  • 开启 AOF 持久化 + 密码 + 远程访问
  • 安装完直接可用
bash 复制代码
#!/bin/bash
set -euo pipefail

# 版本与路径
REDIS_VERSION="7.2.7"
INSTALL_DIR="/usr/local/redis"
DATA_DIR="/data/redis"
LOG_DIR="/var/log/redis"
CONF_DIR="${INSTALL_DIR}/conf"
REDIS_PASS="123456"

echo -e "\033[32m===== 安装依赖 =====\033[0m"
dnf install -y gcc gcc-c++ make openssl-devel

echo -e "\033[32m===== 下载 Redis ${REDIS_VERSION} =====\033[0m"
cd /usr/local/src
wget -N https://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz

echo -e "\033[32m===== 解压 & 编译 =====\033[0m"
tar zxf redis-${REDIS_VERSION}.tar.gz
cd redis-${REDIS_VERSION}
make -j$(nproc)

echo -e "\033[32m===== 安装 =====\033[0m"
make install PREFIX=${INSTALL_DIR}

echo -e "\033[32m===== 创建目录 =====\033[0m"
mkdir -p ${CONF_DIR} ${DATA_DIR} ${LOG_DIR}

echo -e "\033[32m===== 复制配置文件 =====\033[0m"
cp redis.conf ${CONF_DIR}/redis.conf

echo -e "\033[32m===== 自动配置 redis.conf =====\033[0m"
sed -i "s|^bind .*|bind 0.0.0.0|" ${CONF_DIR}/redis.conf
sed -i "s|^protected-mode .*|protected-mode no|" ${CONF_DIR}/redis.conf
sed -i "s|^port .*|port 6379|" ${CONF_DIR}/redis.conf
sed -i "s|^daemonize .*|daemonize no|" ${CONF_DIR}/redis.conf
sed -i "s|^logfile .*|logfile ${LOG_DIR}/redis.log|" ${CONF_DIR}/redis.conf
sed -i "s|^dir .*|dir ${DATA_DIR}|" ${CONF_DIR}/redis.conf
sed -i "s|^# requirepass .*|requirepass ${REDIS_PASS}|" ${CONF_DIR}/redis.conf
sed -i "s|^appendonly .*|appendonly yes|" ${CONF_DIR}/redis.conf

echo -e "\033[32m===== 创建 systemd 服务 =====\033[0m"
cat >/usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis Server
After=network.target

[Service]
Type=simple
ExecStart=${INSTALL_DIR}/bin/redis-server ${CONF_DIR}/redis.conf
ExecReload=/bin/kill -USR2 \$MAINPID
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

echo -e "\033[32m===== 启动并开机自启 =====\033[0m"
systemctl daemon-reload
systemctl enable --now redis
sleep 2

echo -e "\033[32m===== 加入全局命令 =====\033[0m"
echo "export PATH=\$PATH:${INSTALL_DIR}/bin" >/etc/profile.d/redis.sh
source /etc/profile.d/redis.sh

echo -e "\033[32m===== 安装完成!=====\033[0m"
redis-server --version
redis-cli --version
echo
echo "安装目录:${INSTALL_DIR}"
echo "配置文件:${CONF_DIR}/redis.conf"
echo "数据目录:${DATA_DIR}"
echo "密码:${REDIS_PASS}"
echo "测试:redis-cli -a ${REDIS_PASS}"

使用方法

bash 复制代码
# 1. 创建脚本
vim install_redis727.sh

# 2. 粘贴上面全部内容,保存

# 3. 加执行权限
chmod +x install_redis727.sh

# 4. 运行
./install_redis727.sh

安装后信息

  • 端口:6379
  • 密码:123456
  • 开启 AOF 持久化
  • 允许远程访问
  • 开机自启
  • 命令全局可用

测试

bash 复制代码
redis-cli -a 123456
127.0.0.1:6379> set test ok
127.0.0.1:6379> get test
相关推荐
踏着七彩祥云的小丑1 小时前
忘记Redis是否安装过时查看
数据库·redis·缓存
netho02 小时前
影刀rpa证书题库使用教学
运维·服务器·rpa
无足鸟ICT2 小时前
【RHCA+】$[]
linux·运维·服务器
运维技术小记3 小时前
国产化环境配置 VNC 远程桌面:麒麟 V10 实战
linux·运维·服务器
xiaoye-duck3 小时前
《Linux系统编程》Linux 系统多线程(八): C++ 高并发线程池全链路深度解析与从零手撕实现
linux·c++·线程池
giaming0233 小时前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
laboratory agent开发3 小时前
智能体多工具串联执行中途失败,部分写入的数据如何回滚
运维·服务器·数据库
智塑未来4 小时前
金融 AIOps 选型指南:银行证券智能运维平台怎么选
运维·人工智能·金融
寒水馨4 小时前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc