• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
r-ming
博客园    首页    新随笔    联系   管理    订阅  订阅

centos 7 安装 redis 的脚本文件

新建 Bash 脚本文件

vim install_redis.sh

复制脚本文件

点击查看代码
#!/bin/bash

# 安装版本
redis_version="6.2.7"
# 默认安装目录,可以通过第一个参数指定
redis_installDir="/opt/redis"

# Redis密码和端口,可以通过第二个和第三个参数指定
# 默认密码为"yourpassword",默认端口为6379
redis_password="****"
redis_port="6434"

# 检查是否提供了安装目录参数,如果有则使用提供的目录
if [ -n "$1" ]; then
  redis_installDir="$1"
fi

# 检查是否提供了密码和端口参数,如果有则使用提供的值
if [ -n "$2" ]; then
  redis_password="$2"
fi
if [ -n "$3" ]; then
  redis_port="$3"
fi

install_redis() {
  local version=$1
  local installDir=$2
  local password=$3
  local port=$4
  local redisconf_file=$installDir/redis-$version/redis.conf
  # 安装工具包
  yum -y install epel-release gcc make tcl

  # 下载地址
  local downloadUrl="http://download.redis.io/releases/redis-$version.tar.gz"
  if [ -z "$(command -v wget)" ]; then
    yum -y install wget
    if [ $? -eq 0 ]; then
      echo "wget安装完成"
    else
      echo "wget安装失败,请检查"
      exit 1
    fi
  fi
  if [ ! -d "${installDir}" ]; then
    mkdir -p "${installDir}"
    if [ $? -eq 0 ]; then
      echo "安装目录${installDir}已创建"
    else
      echo "请确保您有足够的权限来创建目录,请增加权限后再次执行"
      exit 1
    fi
  fi
  if [ ! -f "/tmp/redis-$version.tar.gz" ] ; then
    wget "$downloadUrl" -P /tmp
    if [ $? -eq 0 ]; then
      echo "redis-$version.tar.gz下载成功"
    else
      echo "redis-$version.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"
      echo "下载地址:$downloadUrl"
      exit 1
    fi
  else
    echo "/tmp/redis-$version.tar.gz文件已存在"
  fi
  if [ -d "${installDir}/redis-$version" ]; then
    echo "${installDir}/redis-$version 已存在,正在删除..."
    rm -rf "${installDir}/redis-$version"
  fi
  tar -zxvf "/tmp/redis-$version.tar.gz" -C "${installDir}"
  if [ $? -eq 0 ]; then
    echo "redis-$version.tar.gz解压成功"
  else
    echo "redis-$version.tar.gz解压失败,请查看异常信息后重试"
    exit 1
  fi
  # 编译和安装
  cd ${installDir}/redis-$version
  make && make install

  # 修改Redis配置文件
  sed -i "s|daemonize no|daemonize yes|" "$redisconf_file"
  sed -i "s|bind 127.0.0.1 -::1|bind 127.0.0.1 -::1\nbind 0.0.0.0|" "$redisconf_file"
  sed -i "s|# requirepass foobared|requirepass $password|" "$redisconf_file"
  sed -i "s|port 6379|port $port|" "$redisconf_file"

  echo "redis 单机版下载、安装、配置完成"
  echo "redis安装目录:${installDir}/redis-$version"
  echo "单机版 进入 redis 交互界面命令:redis-cli -h $(ip addr | grep 'inet ' | awk '{print$2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+') -p $port"
}

install_redis "$redis_version" "$redis_installDir" "$redis_password" "$redis_port"

exit 0


进入 instll_redis.sh 脚本配置

  • 设置 redis 版本号
  • 设置 redis 安装目录(建议默认)
  • 设置 redis 连接密码
  • 设置 redis 连接端口

执行命令

1、./instll_redis.sh
2、./instll_redis.sh 安装目录 密码 端口


将 redis 设置为服务

编辑 redis.service

vi /etc/systemd/system/redis.service

复制下面的脚本,并修改 ExecStart 属性

点击查看代码
[Unit]
# 描述内容
Description=Redis 
#在哪些服务启动之后启动
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
#PIDFile和redis.conf配置中一致
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/redis/redis-6.2.7/src/redis-server /opt/redis/redis-6.2.7/redis.conf
#重新加载和停止服务的命令
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
#系统以默认多用户方式启动时,此服务自动运行。
[Install]
#Alias:服务别名
WantedBy=multi-user.target

刷新服务

systemctl daemon-reload

执行命令

  • systemctl start redis.service #启动redis服务
  • systemctl stop redis.service #停止redis服务
  • systemctl restart redis.service #重新启动服务
  • systemctl status redis.service #查看服务当前状态
  • systemctl enable redis.service #设置开机自启动
  • systemctl disable redis.service #停止开机自启动
posted @ 2024-04-18 15:40  R_m  阅读(54)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3