Rabbit MQ 源码安装

91 阅读2分钟

使用源码安装 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_useryour_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 ".*" ".*" ".*"