手工部署RabbitMQ(Ubuntu 20.04)
简介
本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署RabbitMQ。RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ凭借其高可靠、易扩展、高可用及丰富的功能特性成为目前非常热门的一款消息中间件。
前提条件
弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。
方向 |
优先级 |
策略 |
类型 |
协议端口 |
源地址 |
---|---|---|---|---|---|
入方向 |
1 |
允许 |
IPv4 |
TCP: 80 |
0.0.0.0/0 |
入方向 |
1 |
允许 |
IPv4 |
TCP: 15672 |
0.0.0.0/0 |
操作步骤
- 登录弹性云服务器。
- 安装RabbitMQ。
- 执行以下命令,安装相关依赖包。
sudo apt-get install curl gnupg apt-transport-https -y
- 下载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
- 将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
- 更新本地的包索引。
sudo apt-get update -y
- 安装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
- 安装RabbitMQ。
sudo apt-get install rabbitmq-server -y --fix-missing
- 执行以下命令,安装相关依赖包。
- 配置RabbitMQ。
- 设置RabbitMQ开机自启动并启动RabbitMQ。
sudo systemctl enable rabbitmq-server sudo systemctl start rabbitmq-server
- 执行以下命令,删除默认用户。
sudo rabbitmqctl delete_user guest
RabbitMQ默认的账号用户名和密码都是guest。
- 执行如下命令,创建一个新用户。
sudo rabbitmqctl add_user 用户名 密码
其中,用户名和密码为您自定义的信息。
命令示例:
sudo rabbitmqctl add_user root 123456
- 执行如下命令,设置用户为管理员。
sudo rabbitmqctl set_user_tags 用户名 administrator
命令示例:
sudo rabbitmqctl set_user_tags root administrator
- 执行如下命令,赋予用户所有权限。
sudo rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
命令示例:
sudo rabbitmqctl set_permissions -p / root '.*' '.*' '.*'
- 设置RabbitMQ开机自启动并启动RabbitMQ。
- 执行如下命令,启用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.
- 使用浏览器访问 “http://弹性公网IP:15672”,显示如下页面,说明RabbitMQ安装成功。
- 输入已创建的用户名和密码后单击“Login”,进入RabbitMQ管理界面。