在Ubuntu 20.04| 18.04 LTS上安装最新的rabbitmq服务器
RabbitMQ是一个开源消息代理软件,它通过插件实现高级消息排队协议(AMQP)和传输文本面向邮件传递协议,消息排队遥测传输和其他协议。
消息传递代理的工作是从发布者(发布它们的应用程序)接收消息并将其路由到消费者(处理它们的应用程序)。
AMQP是一种消息传递协议,使客户端应用程序能够与符合符合消息传递中间件代理进行通信。
按照以下步骤在Ubuntu 20.04| 18.04 LTS上安装RabbitMQ服务器
第1步:安装Erlang/OTP
RabbitMQ需要先在运行之前先安装Erlang。
使用我们的上一稿将Erlang安装在Ubuntu 18.04系统上:
如何在Ubuntu上安装最新的Erlang
一旦安装了Erlang,就继续执行步骤2.
第2步:将RabbitMQ存储库添加到Ubuntu
导入rabbitmq:
sudo apt update && sudo apt install wget -y sudo apt install apt-transport-https -y wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | sudo apt-key add wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add
现在将RabbitMQ存储库添加到Ubuntu 20.04 | 18.04:
--- Ubuntu 20.04 -- echo "deb https://dl.bintray.com/rabbitmq-erlang/debian focal erlang-22.x" | sudo tee /etc/apt/sources.list.d/rabbitmq.list --- Ubuntu 18.04 -- echo "deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang-22.x" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
第2步:在Ubuntu 20.04 | 18.04 LTS 安装RabbitMQ Server
要安装RabbitMQ Server Ubuntu 18.04,请更新APT列表,然后安装 rabbitmq-server
软件包:
sudo apt update sudo apt install rabbitmq-server
点击y键以开始安装。
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: socat The following NEW packages will be installed: rabbitmq-server soca 0 upgraded, 2 newly installed, 0 to remove and 27 not upgraded. Need to get 12.3 MB of archives. After this operation, 15.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y
安装后,启动RabbitMQ服务并启用以启动启动。
要检查状态,请运行:
$systemctl status rabbitmq-server.service ● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2017-05-17 22:00:58 EAT; 6s ago Main PID: 18023 (beam.smp) Status: "Initialized" Tasks: 85 (limit: 2344) Memory: 74.6M CGroup: /system.slice/rabbitmq-server.service ├─18023 /usr/lib/erlang/erts-10.7.1/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -> ├─18134 /usr/lib/erlang/erts-10.7.1/bin/epmd -daemon ├─18277 erl_child_setup 32768 ├─18302 inet_gethost 4 └─18303 inet_gethost 4 Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Doc guides: https://rabbitmq.com/documentation.html Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Support: https://rabbitmq.com/contact.html Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Tutorials: https://rabbitmq.com/getstarted.html Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Monitoring: https://rabbitmq.com/monitoring.html Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Logs: /var/log/rabbitmq/Hyman@theitroad Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: /var/log/rabbitmq/Hyman@theitroad_upgrade.log Jan 17 22:00:57 ubuntu20 rabbitmq-server[18023]: Config file(s): (none) Jan 17 22:00:58 ubuntu20 rabbitmq-server[18023]: Starting broker...systemd unit for activation check: "rabbitmq-server.service" Jan 17 22:00:58 ubuntu20 systemd[1]: Started RabbitMQ broker. Jan 17 22:00:58 ubuntu20 rabbitmq-server[18023]: completed with 0 plugins.
我们可以确认服务是否配置为使用该命令启动启动:
$systemctl is-enabled rabbitmq-server.service <strong>enabled</strong>
如果禁用返回,请通过运行启用它:
sudo systemctl enable rabbitmq-server
第3步:启用RabbitMQ管理仪表板(可选)
我们可以选择启用RabbitMQ管理Web仪表板以便于管理。
sudo rabbitmq-plugins enable rabbitmq_management
Web服务应该在TCP端口侦听 15672
# ss -tunelp | grep 15672 tcp LISTEN 0 128 0.0.0.0:15672 0.0.0.0:* users:(("beam.smp",pid=9525,fd=71)) uid:111 ino:39934 sk:9 <->
如果我们有一个Active UFW防火墙,请打开端口5672和15672:
sudo ufw allow proto tcp from any to any port 5672,15672
通过打开URL访问它 http://[server IP|Hostname]:15672
默认情况下,访客用户存在,只能从中连接 localhost
。
我们可以使用密码"guest"本地登录此用户
为了能够在网络上登录,创建如下所示的管理员用户:
rabbitmqctl add_user admin StrongPassword rabbitmqctl set_user_tags admin administrator
使用此管理员用户名登录和分配的密码。
第4步:设置RabbitMQ群集(可选)
如果我们需要实现高可用性和更高的吞吐量,请考虑按照以下教程在Ubuntu 18.04服务器上配置RabbitMQ群集:
如何在Ubuntu 18.04 LTS上配置RabbitMQ群集
RabbitMQ用户管理命令
删除用户:
rabbitmqctl delete_user user
更改用户密码:
rabbitmqctl change_password user strongpassword
创建新的VirtualHost:
rabbitmqctl add_vhost /my_vhost
列表可用VirtualHosts:
rabbitmqctl list_vhosts
删除VirtualHost:
rabbitmqctl delete_vhost /myvhost
授予VHost的用户权限:
rabbitmqctl set_permissions -p /myvhost user ".*" ".*" ".*"
列出vhost权限:
rabbitmqctl list_permissions -p /myvhost
要列出用户权限:
rabbitmqctl list_user_permissions user
删除用户权限:
rabbitmqctl clear_permissions -p /myvhost user