redis 一键自动安装
Redis 一键安装脚本
0. 依赖环境搭建
-
服务器操作系统 CentOS-7-x86_64-Minimal-2009.iso
-
redis 依赖 gcc 安装包
-
redis 安装包 redis-6.2.11.tar.gz
-
网盘下载
centos7-redis-6.2.11
https://www.alipan.com/s/cLEEoje4tSZ
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
1. 主要步骤包括:
-
安装GCC依赖:这是编译和安装Redis的必要条件。
-
创建Redis安装目录。
-
检查Redis安装包文件是否存在,如果存在则解压。
-
编译和安装Redis。
-
配置Redis:包括绑定到0.0.0.0(允许外部访问)、关闭保护模式、设置端口、设置为守护进程模式并设置密码。
-
创建Redis systemd服务,使得Redis可以作为系统服务管理。
-
启动Redis服务并设置开机自动启动。
-
在防火墙中打开Redis端口,允许外部访问。
2. 完整脚本如下
#!/bin/bash
# ****************************************************************
# * @Title: Redis一键自动安装脚本
# * @Author: Lee
# * @Version: v1.0
# * @Date: 2023/10
# * @Description: 网络环境无法与互联网联通
# * centos 7 环境下本地一键安装自动化脚本
# *****************************************************************
# 全局变量设置
INSTALL_DIR="/usr/local/redis"
PACKAGE_FILE="/usr/local/autoinstall/lib/redis-6.2.11.tar.gz"
REDIS_PORT=7979
REDIS_PASSWORD=p@ssw0rd
SERVICE_UNIT_FILE="/etc/systemd/system/redis.service"
# 安装GCC依赖
cd /usr/local/temp/gcc/
if [ ! -f *.rpm ]; then
echo "没有找到任何RPM文件。请确保文件存在并重新运行脚本。"
exit 1
fi
yum -y localinstall *.rpm
# 创建Redis安装目录
mkdir -p "$INSTALL_DIR"
# 检查Redis安装包文件是否存在
if [ ! -f "$PACKAGE_FILE" ]; then
echo "Redis安装包文件 $PACKAGE_FILE 不存在。请确保文件存在并重新运行脚本。"
exit 1
fi
# 解压Redis安装包
cd "$INSTALL_DIR"
tar -zxvf "$PACKAGE_FILE" -C "$INSTALL_DIR"
# 编译和安装Redis
cd redis-6.2.11
make && make install PREFIX="$INSTALL_DIR"
# 配置Redis
cp redis.conf "$INSTALL_DIR/bin/"
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' "$INSTALL_DIR/bin/redis.conf"
sed -i 's/protected-mode yes/protected-mode no/g' "$INSTALL_DIR/bin/redis.conf"
sed -i "s/port 6379/port $REDIS_PORT/g" "$INSTALL_DIR/bin/redis.conf"
sed -i 's/daemonize no/daemonize yes/g' "$INSTALL_DIR/bin/redis.conf"
sed -i "s/# requirepass foobared/requirepass $REDIS_PASSWORD/g" "$INSTALL_DIR/bin/redis.conf"
# 创建Redis systemd服务
echo "[Unit]" > "$SERVICE_UNIT_FILE"
echo "Description=Redis Server" >> "$SERVICE_UNIT_FILE"
echo "After=network.target" >> "$SERVICE_UNIT_FILE"
echo "[Service]" >> "$SERVICE_UNIT_FILE"
echo "Type=forking" >> "$SERVICE_UNIT_FILE"
echo "ExecStart=$INSTALL_DIR/bin/redis-server $INSTALL_DIR/bin/redis.conf" >> "$SERVICE_UNIT_FILE"
echo "ExecStop=$INSTALL_DIR/bin/redis-cli shutdown" >> "$SERVICE_UNIT_FILE"
echo "User=root" >> "$SERVICE_UNIT_FILE"
echo "Restart=always" >> "$SERVICE_UNIT_FILE"
echo "[Install]" >> "$SERVICE_UNIT_FILE"
echo "WantedBy=multi-user.target" >> "$SERVICE_UNIT_FILE"
# 启动Redis服务并设置开机自动启动
sudo systemctl daemon-reload
sudo systemctl start redis
sudo systemctl enable redis
# 在防火墙中打开Redis端口
firewall-cmd --zone=public --add-port=$REDIS_PORT/tcp --permanent
firewall-cmd --reload
# 安装完成
echo "Redis安装和配置完成,已启动并设置为开机自动启动!"