想要编写一个安装 Redis 的 shell 脚本,可以根据需要选择特定的 Redis 版本,可以实现自动的下载、编译和安装。如下是华纳云为大家提供的一个 Redis 6.2.6版本,大家可以根据需要修改版本号或者脚本中的其他配置。
Redis的安装脚本:
#!/bin/bash
# 定义要安装的 Redis 版本
REDIS_VERSION="6.2.6"
# 更新包列表并安装依赖
echo "Updating package lists and installing dependencies..."
sudo apt-get update
sudo apt-get install -y build-essential tcl
# 下载 Redis 源码
echo "Downloading Redis $REDIS_VERSION..."
cd /tmp
curl -O http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz
# 解压源码并进入目录
echo "Extracting Redis..."
tar xzf redis-$REDIS_VERSION.tar.gz
cd redis-$REDIS_VERSION
# 编译 Redis
echo "Compiling Redis..."
make
# 运行测试 (可选)
echo "Running tests..."
make test
# 安装 Redis
echo "Installing Redis..."
sudo make install
# 创建 Redis 用户和组 (可选)
echo "Creating Redis user and group..."
sudo adduser --system --group --no-create-home redis
# 创建 Redis 配置目录和数据目录
echo "Creating Redis directories..."
sudo mkdir /etc/redis
sudo mkdir /var/lib/redis
# 复制 Redis 配置文件
echo "Copying Redis configuration file..."
sudo cp /tmp/redis-$REDIS_VERSION/redis.conf /etc/redis
# 修改配置文件
echo "Modifying Redis configuration file..."
sudo sed -i 's/^supervised no/supervised systemd/' /etc/redis/redis.conf
sudo sed -i 's:^dir ./::' /etc/redis/redis.conf
sudo sed -i 's:^# requirepass foobared:requirepass your_password_here:' /etc/redis/redis.conf
# 创建 systemd 服务文件
echo "Creating systemd service file..."
sudo bash -c 'cat <<EOF > /etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
EOF'
# 设置权限
echo "Setting permissions..."
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis
# 启动并启用 Redis 服务
echo "Starting and enabling Redis service..."
sudo systemctl start redis
sudo systemctl enable redis
echo "Redis installation and setup complete."
使用中,先把上述脚本保存 install_redis.sh 文件,再在终端运行一下命令赋予脚本一定执行权限:
chmod +x install_redis.sh
在终端中运行以下命令来执行脚本:
sudo ./install_redis.sh
保存后,脚本就可以自动下载、便宜和安装指定版本的 Redis,并且配置为使用 system 管理服务。可以根据需要修改脚本中的 Redis 版本号和其他选项配置。