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