ubuntu20.04安装rabbitmq
2022/2/22 7:27:08
本文主要是介绍ubuntu20.04安装rabbitmq,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
以前写过几篇rabbitmq的博客:
- 安装rabbitmq
- RabbitMQ集群搭建
- RabbitMQ死信队列管理
不过都是基于centos的,而且已经时隔两年了。现在回想当初玩RabbitMQ,其实也是没有想明白要怎么使用MQ这个技术组件。最近有机会重新折腾,趁着转战ubuntu的机会,重新整理相关内容。可能也会涉及更多的内容。
docker安装单机版
sudo docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
是的,上面的命令就完成了rabbitmq的安装及启动。要么说,docker时隔好东西呀。
不过呢,这个指令是前台启动的指令,也就是帮助我们完成一个安装rabbitmq的hello world吧。
解释一下:
- -it: 这其实是两个参数:-i 打开DTDIN,用户控制台交互;-t 分配tty设备,可以支持终端登录
- -rm: 容器停止后自动删除容器。所以,如果你通过ctrl+c退出,则
- -name rabbitmq :给这个容器命名。
- -p: 我们看到有两个-p,后面跟的分别是5672:5672和15672:15672。这个配置的是容器的两个端口与本地端口的映射。其中5672是mq的运行端口,15672是mq的web管理界面的端口。管理界面的默认用户名密码是:guest/guest
- rabbitmq:3.9-management:使用的容器实例,我本地是没有的,它会自动去hub上查找并下载。
但是这明显不是我们要的。鉴于目前没有什么特殊的功能要求,我们只对镜像做调整:
- 后台启动:-d
- 开机启动:开机启动由两点进行保障。第一是docker服务开机启动,第二是docker服务启动后自动启动镜像,通过添加参数–restart=always来保证。
- 关闭后不自动销毁:去除-rm参数
最后的指令为:
sudo docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
至此,docker安装rabbitmq单机版搞定。
安装包安装
安装
参考官方说明:官方说明
为了让用户可以安装到最新的rabbitmq,官方提供了Cloudsmith和PackageCloud两个镜像,并分别提供了相关的安装引导。以下是提供的Cloudsmith安装脚本
#!/usr/bin/sh sudo apt-get install curl gnupg apt-transport-https -y ## Team RabbitMQ's main signing key 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 ## Cloudsmith: modern Erlang repository curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null ## Cloudsmith: RabbitMQ repository curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /dev/null ## Add apt repositories maintained by Team RabbitMQ sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF ## Provides modern Erlang/OTP releases ## deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main ## Provides RabbitMQ ## deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu focal main deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu focal main EOF ## Update package indices sudo apt-get update -y ## Install Erlang packages 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 ## Install rabbitmq-server and its dependencies sudo apt-get install rabbitmq-server -y --fix-missing
安装成功
基础操作
启动rabbitmq
sudo systemctl start rabbitmq-server
设置开机启动
sudo systemctl enable rabbitmq-server
启用可视化界面
启用可视化界面
sudo rabbitmq-plugins enable rabbitmq_management
输入默认账号: guest 密码: guest,但只允许通过localhost进行访问。我们创建一个新账号用来管理。
sudo rabbitmqctl add_user admin admin sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*' sudo rabbitmqctl list_permissions
最后一行可以看到新的admin账号已经添加进去了。admin的密码如果需要别的,可以在第一个指令的最后一个参数那里进行修改。
修改配置文件
默认rabbitmq是没有创建它的配置文件的。它的默认位置是在/etc/rabbitmq。我们可以创建一个空的配置文件
sudo vim /etc/rabbitmq/rabbitmq.conf
加入如下配置
loopback_users.guest=false
重启你的rabbitmq服务。这个时候,如果你可以通过远程界面登录guest帐号了。上面的配置是让guest账号可以远程登录
启用MQTT
进入docker
sudo docker exec -it rabbitmq bash
启用插件
rabbitmq-plugins enable rabbitmq_mqtt
默认mqtt插件是不可以匿名访问的,但是硬件不一定支持使用用户名密码。所以,我们添加如下配置
mqtt.allow_anonymous = true mqtt.default_user = mqtt mqtt.default_pass = mqtt
上述配置的意思是,mqtt允许匿名访问(默认不允许),默认使用用户名mqtt,默认密码为mqtt
这时,你使用MQTT.fx客户端不设置用户名密码即可连接到rabbitmq了。
这篇关于ubuntu20.04安装rabbitmq的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21MQ-2烟雾传感器详解
- 2024-12-09Kafka消息丢失资料:新手入门指南
- 2024-12-07Kafka消息队列入门:轻松掌握Kafka消息队列
- 2024-12-07Kafka消息队列入门:轻松掌握消息队列基础知识
- 2024-12-07Kafka重复消费入门:轻松掌握Kafka消费的注意事项与实践
- 2024-12-07Kafka重复消费入门教程
- 2024-12-07RabbitMQ入门详解:新手必看的简单教程
- 2024-12-07RabbitMQ入门:新手必读教程
- 2024-12-06Kafka解耦学习入门教程
- 2024-12-06Kafka入门教程:快速上手指南