文档首页/ 弹性云服务器 ECS/ 最佳实践/ 搭建应用/ 手工部署RabbitMQ(Ubuntu 20.04)
更新时间:2025-05-23 GMT+08:00
分享

手工部署RabbitMQ(Ubuntu 20.04)

简介

本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署RabbitMQ。RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ凭借其高可靠、易扩展、高可用及丰富的功能特性成为目前非常热门的一款消息中间件。

您还可以选择Solution as Code一键式部署方式自动部署高可用的RabbitMQ集群,详细内容请参见快速部署高可用的RabbitMQ集群

前提条件

弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则

表1 安全组规则

方向

优先级

策略

类型

协议端口

源地址

入方向

1

允许

IPv4

TCP: 80

0.0.0.0/0

入方向

1

允许

IPv4

TCP: 15672

0.0.0.0/0

操作步骤

本操作以安装RabbitMQ 3.8.3版本为例进行说明,更多版本及安装方式,请参见Installing RabbitMQ

  1. 登录弹性云服务器。
  2. 安装RabbitMQ。

    1. 执行以下命令,安装相关依赖包。
      sudo apt-get install curl gnupg apt-transport-https -y
    2. 下载RabbitMQ和Erlang的GPG公钥,并将公钥信息添加到系统的信任密钥环中。
      curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
      curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
      curl -1sLf https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null
    3. 将RabbitMQ和Erlang的官方APT仓库添加到/etc/apt/sources.list.d/rabbitmq.list文件中。
      sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
      deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
      deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
      deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
      deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
      deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
      deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
      deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
      deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa2.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
      EOF
    4. 更新本地的包索引。
      sudo apt-get update -y
    5. 安装Erlang相关包。
      sudo apt-get install -y erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
    6. 安装RabbitMQ。
      sudo apt-get install rabbitmq-server -y --fix-missing

  3. 配置RabbitMQ。

    1. 设置RabbitMQ开机自启动并启动RabbitMQ。
      sudo systemctl enable rabbitmq-server
      sudo systemctl start rabbitmq-server
    2. 执行以下命令,删除默认用户。
      sudo rabbitmqctl delete_user guest

      RabbitMQ默认的账号用户名和密码都是guest。

    3. 执行如下命令,创建一个新用户。
      sudo rabbitmqctl add_user 用户名 密码

      其中,用户名和密码为您自定义的信息。

      命令示例:

      sudo rabbitmqctl add_user root 123456
    4. 执行如下命令,设置用户为管理员。
      sudo rabbitmqctl set_user_tags 用户名 administrator

      命令示例:

      sudo rabbitmqctl set_user_tags root administrator
    5. 执行如下命令,赋予用户所有权限。
      sudo rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"

      命令示例:

      sudo rabbitmqctl set_permissions -p / root '.*' '.*' '.*'

  4. 执行如下命令,启用RabbitMQ的Web管理界面。

    sudo rabbitmq-plugins enable rabbitmq_management

    回显类似如下信息:

    [root@ecs-rabbitmq ~]# sudo rabbitmq-plugins enable rabbitmq_management
    Enabling plugins on node rabbit@ecs-rabbitmq:
    rabbitmq_management
    The following plugins have been configured:
      rabbitmq_management
      rabbitmq_management_agent
      rabbitmq_web_dispatch
    Applying plugin configuration to rabbit@ecs-rabbitmq...
    The following plugins have been enabled:
      rabbitmq_management
      rabbitmq_management_agent
      rabbitmq_web_dispatch
    
    started 3 plugins.

  5. 使用浏览器访问 “http://弹性公网IP:15672”,显示如下页面,说明RabbitMQ安装成功。

  6. 输入已创建的用户名和密码后单击“Login”,进入RabbitMQ管理界面。

相关文档