文章目录
一、脚本功能描述
-
核心功能:
-
安装指定版本的 RabbitMQ (3.8.3-1)
-
自动配置主机名解析
-
添加 RabbitMQ 官方软件源
-
安装必要依赖项
-
启用并启动 RabbitMQ 服务
-
验证安装结果
-
可选启用管理界面
-
-
关键步骤:
-
获取系统发行版名称 (如 bionic、focal 等)
-
获取服务器主 IP 地址
-
添加 IP 地址到 /etc/hosts 的主机名解析
-
安装 curl、gnupg 等必需工具
-
导入 RabbitMQ 的 GPG 签名密钥
-
添加包含 Erlang 和 RabbitMQ 的软件源
-
安装指定版本的 RabbitMQ
-
启用并立即启动服务
-
检查服务状态
-
交互式启用管理插件
-
-
安装流程

可以根据自己的实际需求修改脚本
二、脚本内容
脚本共65行,动动你的小手滚动查看
Shell
#!/bin/bash
#
#*********************************************************
#Author: lhl
#Filename: install_rabbitmq_ubuntu.sh
#Description: RabbitMQ installation script for Ubuntu
#********************************************************
# 设置 RabbitMQ 版本
MQ_VERSION="3.8.3-1"
# 获取系统发行版名称
DISTRO_CODENAME=$(lsb_release -cs)
# 获取主IP地址(更可靠的方法)
IP=$(hostname -I | awk '{print $1}')
# 添加主机名解析
echo -e "\n[INFO] 添加主机名解析: $IP -> $(hostname)"
sudo sh -c "echo '$IP $(hostname)' >> /etc/hosts"
# 安装必要依赖
echo -e "\n[INFO] 安装依赖包..."
sudo apt-get update
sudo apt-get install -y curl gnupg apt-transport-https software-properties-common
# 导入GPG密钥
echo -e "\n[INFO] 导入RabbitMQ签名密钥..."
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -
# 添加软件源
echo -e "\n[INFO] 添加RabbitMQ软件源..."
sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list <<EOF
deb https://dl.bintray.com/rabbitmq-erlang/debian $DISTRO_CODENAME erlang
deb https://dl.bintray.com/rabbitmq/debian $DISTRO_CODENAME main
EOF
# 更新软件包列表
echo -e "\n[INFO] 更新软件包列表..."
sudo apt-get update
# 安装RabbitMQ指定版本
echo -e "\n[INFO] 安装RabbitMQ $MQ_VERSION..."
sudo apt-get install -y rabbitmq-server=$MQ_VERSION
# 启用并启动服务
echo -e "\n[INFO] 启动RabbitMQ服务..."
sudo systemctl enable --now rabbitmq-server
# 验证安装
echo -e "\n[INFO] 验证安装..."
if sudo systemctl is-active --quiet rabbitmq-server; then
echo -e "\n[SUCCESS] RabbitMQ 已成功安装并运行"
echo "管理界面: http://$IP:15672 (默认用户: guest/guest)"
else
echo -e "\n[ERROR] RabbitMQ 服务未运行,请检查日志" >&2
exit 1
fi
# 可选:启用管理插件
read -p "是否启用RabbitMQ管理插件? [y/n] " choice
if [[ "$choice" =~ ^[Yy]$ ]]; then
sudo rabbitmq-plugins enable rabbitmq_management
echo "管理插件已启用"
fi
三、预期输出
成功安装
Shell
[INFO] 添加主机名解析: 192.168.1.100 -> ubuntu-server
[INFO] 安装依赖包...
[INFO] 导入RabbitMQ签名密钥...
[INFO] 添加RabbitMQ软件源...
[INFO] 更新软件包列表...
[INFO] 安装RabbitMQ 3.8.3-1...
[INFO] 启动RabbitMQ服务...
[INFO] 验证安装...
[SUCCESS] RabbitMQ 已成功安装并运行
管理界面: http://192.168.1.100:15672 (默认用户: guest/guest)
是否启用RabbitMQ管理插件? [y/n] y
管理插件已启用
服务启动失败
Shell
[ERROR] RabbitMQ 服务未运行,请检查日志
四、注意事项
-
权限要求:
-
需要 root 权限执行所有操作
-
使用 sudo 确保权限正确
-
-
网络要求:
-
需要访问 GitHub 和 bintray 下载资源
-
如果网络有限制,可能需要代理或镜像源
-
-
默认用户:
-
RabbitMQ 默认用户是 guest/guest
-
出于安全考虑,生产环境应更改密码或创建新用户
-
-
防火墙配置:
-
脚本未配置防火墙
-
如需访问管理界面(15672端口),需额外配置
-
欢迎您提出问题,并指正代码中的不足
请不要以此视为定论,这只是我的个人经验