Ubuntu安装RabbitMQ
RabbitMQ的安装需要首先安装Erlang,因为它是基于 Erlang 的 VM 运行的。
RabbitMQ需要的依赖:socat
和 logrotate
, 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
用户的标签和权限:
Tag | Capabilities |
(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. 打开浏览器,访问 localhost:15672
10. 使用刚才创建的用户登录:
11. RabbitMQ 命令
sudo rabbitmq-server start # 启动 rabbitmq 服务
sudo rabbitmq-server stop # 停止 rabbitmq 服务
sudo rabbitmq=server restart # 重启 rabbitmq 服务
sudo rabbitmqctl status # 查看 rabbitmq 服务状态