Linux shell脚本超详细安装rabbitmq

shell脚本超详细安装rabbitmq

#!/bin/bash

# 自动安装rabbitmq脚本

# 本文使用的是wget 下载rabbitmq包,所以需要你安装wget  ,命令:yum -y install wget

# 这里需要注意的是,由于rabbitmq 是由erlang开发的,所以需要基于erlang环境,我们这里首先需要安装erlang,这里需要注意的是,erlang版本和rabbitmq版本是有关联的,需要下载合适的包 

#安装nginx需要管理员权限
[ $UID -ne 0 ] && echo "need to be root so that" && exit 1

# 下载wget
isInstallWget=`yum list installed | grep wget`

if [ $? -ne 0 ];then
   yum -y install wget &>/dev/null
fi

# 首先需要安装一些依赖
echo "开始安装依赖..."
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel 1>/dev/null

if [ $? -ne 0 ];then
  echo "yum install soft package fail";
fi

echo "安装依赖包已完成"

sleep 1

if [ ! -d /usr/local/erlang ];then
 mkdir /usr/local/erlang
 echo "开始下载erlang"
 #执行erlang 命令 看看是否安装
 # 开始下载erlang包
 dirName="otp_src_25.0.3"
 erlangPack="$dirName.tar.gz"
 erlangPackUrl="https://github.com/erlang/otp/releases/download/OTP-25.0.3/$erlangPack"
 ls /opt/otp_src*
 if [ $? -ne 0 ];then
    wget -P /opt/ $erlangPackUrl;
 fi
 echo "erlang已经下载完成" 
 # 解压
 if [ ! -f $dirName ];then
   # --no-same-owner 新增此参数 将解压出来的包 归属于当前用户
   tar --no-same-owner -xf "/opt/$erlangPack"  -C /opt/
 fi
 echo "开始编译erlang..."
 # 编译安装
 cd /opt/$dirName
 ./configure --prefix=/usr/local/erlang 1>/dev/null
 make install 1>/dev/null
 #添加环境变量
 sed -i '$aERLANG_PATH=\/usr\/local\/erlang\/bin \nPATH=\$ERLANG_PATH:$PATH \nexport $PATH' /etc/profile

 source /etc/profile
 echo "至此erlang1⃣️安装完成"
fi
sleep 1
echo "接下来安装rabbitmq"

if [ ! -d /usr/local/rabbitmq ];then
    yum install -y xz 1>/dev/null
    echo "开始下载rabbitmq"
    dirName="rabbitmq-server-generic-unix-3.10.7"
    rabbitmqPack="$dirName.tar.xz"
    rabbitmqUrl="https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/$rabbitmqPack"
    ls /opt/$dirName*
    if [ $? -ne 0 ];then
       wget -P /opt/ $rabbitmqUrl
    fi
    echo "rabbitmq下载完成"
    if [ ! -f "/opt/rabbitmq_server-3.10.7"];then
      #第一次解压
      if [ ! -f "/opt/$dirName.tar" ];then
       # --no-same-owner 新增此参数 将解压出来的包 归属于当前用户
       /bin/xz -d "/opt/$rabbitmqPack.tar.xz"  -C /opt/
      fi
      # 第二次解压
      if [ ! -f "/opt/$dirName" ];then
       # --no-same-owner 新增此参数 将解压出来的包 归属于当前用户
       tar --no-same-owner -xf "/opt/$rabbitmqPack"  -C /opt/
      fi
    fi
    # 移动
    mv /opt/rabbitmq_server-3.10.7 /usr/local/rabbitmq
    #添加环境变量 #如下如果不生效的话,可以手动加入到~/.bash_profile
    sed -i '$aRABBITMQ_PATH=\/usr\/local\/rabbitmq\/sbin \nPATH=\$RABBITMQ_PATH:$PATH \nexport $PATH' /etc/profile
    source /etc/profile
echo "至此rabbitmq安装完成"  
fi

# 启动rabbitmq
# rabbitmq-server –detached
# 查看状态
# rabbitmqctl status
# 停止
# rabbitmqctl stop
# 查看进程
# ps -ef | grep rabbitmq
# 开启web插件
# rabbitmq-plugins enable rabbitmq_management
# 浏览器访问 ip:15672
# 默认账号密码:guest guest(这个账号只允许本机访问)

# 创建rabbitmq用户账号
<<rabbitmqAccount
  # 查看所有用户
  rabbitmqctl list_users
  # 添加用户
  rabbitmqctl add_user admin 123456
  # 配置权限
  rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
  # 查看用户权限
  rabbitmqctl list_user_permissions admin 
  # 设置tag
  rabbitmqctl set_user_tags admin administrator
  # 删除用户
  rabbitmqctl delete_user guest
rabbitmqAccount

# 设置开机自动重启
<<rabbitmqAutoStart
  cd /etc/init.d
  # 新建脚本
  # 添加权限+加入
  chmod +x rabbitmq
  chkconfig --add rabbitmq
  #启动
  service rabbitmq start|stop
rabbitmqAutoStart

rabbitmq开机自动重启脚本

#! /bin/sh
# chkconfig: 2345 20 60
# description: rabbitmq server
export HOME=/root
export PATH=/usr/local/erlang/bin:$PATH
case "$1" in
  start)
    /usr/local/rabbitmq/sbin/rabbitmq-server start 1>/dev/null
    echo "rabbitmq is started"
    ;;
  stop)
    /usr/local/rabbitmq/sbin/rabbitmqctl stop 1>/dev/null
    echo "rabbitmq is stoped"
    ;;
  *)
    ;;
esac
exit 0
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝颜~岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值