Skip to main content

Command Palette

Search for a command to run...

Ubuntu安装RabbitMQ

Updated
1 min read
E

Science is gold.

RabbitMQ的安装需要首先安装Erlang,因为它是基于 Erlang 的 VM 运行的。

RabbitMQ需要的依赖:socatlogrotate, logrotate 操作系统中已经存在了,只需要安装 socat 就可以了。

RabbitMQ 与 Erlang 的兼容关系详见:https://www.rabbitmq.com/which-erlang.html

1. 安装依赖

sudo apt-get install scout -y

2. 安装 Erlang

sudo apt-get install erlang-nox

3. 安装 RabbitMQ

更新源

sudo apt-get update

安装

sudo apt-get install rabbitmq-server

4. 启用 RabbitMQ 的管理插件

rabbitmq-plugins enable rabbitmq_management

5. 开启 RabbitMQ

systemctl start rabbitmq-server

或者

rabbitmq-server

或者后台启动

rabbitmq-server -detached

6. 添加用户

rabbitmqctl add_user admin 123456

7. 给用户添加权限

给 admin 用户在虚拟主机 "/"上配置写读权限

rabbitmqctl set_permissions admin -p / ".*" ".*" ".*"

8. 给用户设置标签

rabbitmqctl set_user_tags admin administrator

用户的标签和权限:

TagCapabilities
(None)没有访问management插件的权限
management可以使用消息协议做任何操作的权限,加上:
1. 可以使用AMQP协议登录虚拟主机的权限
2. 查看它们能登录的所有虚拟主机中所有队列、交换器和绑定的权限
3. 查看和关闭它们自己的通道和连接的权限
4. 查看它们能访问的虚拟主机中的全局统计信息,包括其他用户的活动
policymaker所有management标签可以做的,加上:
1. 在它们能通过AMQP协议登录的虚拟主机上 查看、创建和删除策略以及虚拟主机参数的权限
monitoring所有management能做的,加上
1. 列出所有的虚拟主机,包括列出不能使用消息协议访问的虚拟主机的权限
2. 查看其他用户连接和通道的权限
3. 查看结点级别的数据的内存使用和集群的权限
administrator所有 policymaker 和 monitoring 能做的,加上:
1. 创建删除虚拟主机的权限
2. 查看、创建和删除用户的权限
3. 查看、创建和删除权限的权限
4. 关闭其他用户连接的权限

9. 打开浏览器,访问 http://localhost:15672

image.png

10. 使用刚才创建的用户登录:

image.png

11. RabbitMQ 命令

sudo rabbitmq-server start # 启动 rabbitmq 服务
sudo rabbitmq-server stop # 停止 rabbitmq 服务
sudo rabbitmq=server restart # 重启 rabbitmq 服务
sudo rabbitmqctl status      # 查看 rabbitmq 服务状态

More from this blog

C# 标准性能测试高级用法(Benchmark)

在 C# 标准性能测试 已经告诉大家如何使用 BenchmarkDotNet 测试性能,本文会告诉大家高级的用法。 建议是创建一个控制台项目用来做性能测试,这个项目要求是 dotnet framework 4.6 以上,建议是 dotnet 7 的版本。使用这个项目引用需要测试的项目,然后在里面写测试的代码。 例如被测试项目有一个类 Foo 里面有一个叫 Lindexidb 的方法,接下来的任务是需要测试这个 Lindexidb 方法的性能 最简单的测试的代码 public class FooP...

Jan 9, 20247 min read

.NetCore 实践——HttpClientFactory[一]

HttpClientFactory介绍 HttpClientFactory 主要有下面的功能: 管理内部HttpMessageHandler 的生命周期,灵活应对资源问题和DNS刷新问题 支持命名话、类型化配置,集中管理配置,避免冲突。 灵活的出站请求管道配置,轻松管理请求生命周期 内置管道最外层和最内层日志记录器,有information 和 Trace 输出 核心对象: HttpClient HttpMessageHandler SocketsHttpHandler De...

Jan 9, 20245 min read

认识 MSBuild - 1

前言 很多人一谈到 MSBuild,脑子里就会出现 “XML”、“只能用 VS 的属性框图形界面操作”、“可定制性和扩展性差” 和 “性能低” 等印象,但实际上这些除了 “XML” 之外完全都是刻板印象:这些人用着 Visual Studio 提供的图形界面,就完全不愿意花个几分钟时间翻翻文档去理解 MSBuild 及其构建过程。 另外,再加上 vcxproj (Visual C++ 项目)的默认 MSBuild 构建文件写得确实谈不上好(默认只能项目粒度并行编译,想要源码级并行编译你得加钱),...

Jan 9, 20245 min read

.NetCore实战——工作单元模式(UnitOfWork):管理好你的事务

工作单元模式有如下几个特性: 1、使用同一上下文 2、跟踪实体的状态 3、保障事务一致性 我们对实体的操作,最终的状态都是应该如实保存到我们的存储中,进行持久化 接下来看一下代码 为了实现工作单元模式,这里定义了一个工作单元的接口 public interface IUnitOfWork : IDisposable { Task<int> SaveChangesAsync(CancellationToken cancellationToken = default); Task<b...

Jan 9, 20242 min read
E

Edward Chu's blog

41 posts