一、简介
RabbitMQ是一种在Erlang OTP中实现的开源消息队列软件。它实现了AMQP(高级消息队列协议),并使用插件与流行的消息传递解决方案进行通信,如MQTT(消息队列遥测传输)、面向文本流的消息传递协议等。在本文中,您将了解如何安装和配置RabbitMQ服务器。
前置条件:
- 在虚拟机或者云服务器上部署一个完全更新的Ubuntu Linux LTS服务器,至少有2GB的RAM和1个vCPU内核。本次使用Ubuntu 20.04 LTS
- 创建具有sudo访问权限的非root用户,或者使用root用户登录
二、安装 RabbitMQ Server
1. 安装所有必要的软件包。
$ sudo apt-get install wget apt-transport-https -y
2. 添加密钥
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
3. 添加 Erlang的Launchpad PPA
curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg > /dev/null
4. 添加rabbitmq的仓库
curl -1sLf "https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.packagecloud.rabbitmq.gpg > /dev/null
5. 添加RabbitMQ团队维护的apt库
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
## "bionic" as distribution name should work for any reasonably recent Ubuntu or Debian release.
## See the release to distribution mapping table in RabbitMQ doc guides to learn more.
deb [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu bionic main
deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu bionic main
## Provides RabbitMQ
##
## "bionic" as distribution name should work for any reasonably recent Ubuntu or Debian release.
## See the release to distribution mapping table in RabbitMQ doc guides to learn more.
deb [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ bionic main
deb-src [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ bionic main
EOF
6. 更新包索引
sudo apt-get update -y
7. 安装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
8. 安装rabbitmq-server及其依赖项
sudo apt-get install rabbitmq-server -y --fix-missing
9. 启用apt HTTPS传输
sudo apt-get install apt-transport-https
三、查看rabbitmq服务状态
安装完毕之后,执行如下命令查看
sudo systemctl status rabbitmq-server
启动成功截图如下:
四、启用RabbitMQ管理dashboard
1. 首先安装管理插件
sudo rabbitmq-plugins enable rabbitmq_management
2. 默认用户guest只能通过localhost登录。远程访问需要创建管理员帐户
# 添加rabbitmq 用户名:admin ,密码:XXX
sudo rabbitmqctl add_user admin YourPassword
# 将用户添加到管理员用户组
sudo rabbitmqctl set_user_tags admin administrator
3. 启用web管理门户的插件后,即可通过浏览器访问,访问路径为 http://ip:15672
启动成功截图
五、设置远程访问用户权限
1. 添加的admin 用户默认没有权限,需要进行配置。首先使用admin登录管理页面,点击admin,提示如下。
2. 点击 Set permission,设置所有权限
3. 再次点击admin,可以查看admin用户的权限
远程访问服务器的rabbitmq时,使用用户admin,密码,端口为5672,即可成功访问,
例如,整合SpringCloud时,需要添加如下配置,
六、RabbitMQ的启动关闭命令
# 关闭命令
systemctl stop rabbitmq-server.service
# 启动命令
systemctl start rabbitmq-server.service
# 重启命令
systemctl restart rabbitmq-server.service