使用源码安装 RabbitMQ 需要先从源码编译安装 Erlang。
第 1 步:安装编译依赖
RHEL / CentOS / Amazon Linux 2
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel ncurses-devel unixODBC-devel git python3 make
Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y build-essential autoconf m4 libncurses5-dev libssl-dev libxml2-utils unixodbc-dev git python3 make
第 2 步:从源码编译安装 Erlang/OTP
# 进入源码存放目录
cd /usr/local/src
# 下载 Erlang/OTP 26.x (与 RabbitMQ 3.13.x 兼容)
wget https://github.com/erlang/otp/releases/download/OTP-26.2.2/otp_src_26.2.2.tar.gz
tar -zxvf otp_src_26.2.2.tar.gz
cd otp_src_26.2.2
# 配置、编译、安装
./configure
make
sudo make install
# 验证安装
erl
# (看到 Erlang shell 后,按 Ctrl+C 两次退出)
第 3 步:下载并解压 RabbitMQ Server
# 回到源码存放目录
cd /usr/local/src
# 下载 RabbitMQ Server (Generic Unix build)
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.0/rabbitmq-server-generic-unix-3.13.0.tar.xz
# 创建安装目录
sudo mkdir -p /opt/rabbitmq
# 解压到安装目录
sudo tar -xf rabbitmq-server-generic-unix-3.13.0.tar.xz -C /opt/rabbitmq --strip-components=1
第 4 步:配置环境变量
# 创建 profile 文件
sudo tee /etc/profile.d/rabbitmq.sh > /dev/null <<'EOF'
export RABBITMQ_HOME=/opt/rabbitmq
export PATH=$PATH:$RABBITMQ_HOME/sbin
EOF
# 使环境变量生效
source /etc/profile.d/rabbitmq.sh
第 5 步:启动和配置 RabbitMQ
1. 启动服务
sudo rabbitmq-server -detached
2. 开启 Web 管理插件
sudo rabbitmq-plugins enable rabbitmq_management
3. 创建管理员用户
# 替换 your_user 和 your_password
sudo rabbitmqctl add_user your_user your_password
sudo rabbitmqctl set_user_tags your_user administrator
sudo rabbitmqctl set_permissions -p / your_user ".*" ".*" ".*"
4. 停止服务
sudo rabbitmqctl stop
5. 重新启动以加载插件
sudo rabbitmq-server -detached
第 6 步:开放防火墙和安全组
-
EC2 安全组 (Security Group): 添加入站规则 (Inbound rules),开放以下端口:
TCP 5672(AMQP 客户端连接)TCP 15672(Web 管理后台)
-
系统防火墙 (如果开启):
# RHEL/CentOS/Amazon Linux 2 sudo firewall-cmd --add-port=5672/tcp --permanent sudo firewall-cmd --add-port=15672/tcp --permanent sudo firewall-cmd --reload # Ubuntu/Debian sudo ufw allow 5672/tcp sudo ufw allow 15672/tcp sudo ufw reload
完成
访问 http://<你的EC2公网IP>:15672,使用 your_user 和 your_password 登录。
cd sbin/
#开启web界面
rabbitmq-plugins enable rabbitmq_management
#创建用户
rabbitmqctl add_user admin admin
#修改用户角色为管理员
rabbitmqctl set_user_tags admin administrator
#添加权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"