0%

ubuntu下安装rabbitmq及使用

Erlang环境安装

rabbitmq是运行在erlang环境上的,所以需要安装erlang:

1
sudo apt-get install erlang

安装rabbitmq

1
sudo apt-get install rabbitmq-server

rabbitmq服务操作

当通过apt包安装后,可直接使用如下方式操作服务:

1
service rabbitmq-server status/start/stop/restart/...

但是通过上述方式操作rabbitmq的启动和关闭的时候,会涉及到erlang节点的启动和关闭。

erlang节点:erlang虚拟机运行的实例,运行着erlang应用程序,rabbitmq是erlang节点上的erlang应用程序。

如果想单纯的启动/关闭rabbmq-server程序,可使用如下命令:

1
sudo rabbitmqctl start_app/stop_app

创建用户

1
2
3
4
5
6
7
8
9
10
11
# 添加用户
# rabbitmqctl add_user username password
sudo rabbitmqctl add_user admin admin

# 设置用户为管理员
# rabbitmqctl set_user_tags username administrator
sudo rabbitmqctl set_user_tags admin administrator

# 设置用户权限
# rabbitmqctl set_permissions [-p vhost] user conf write read
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

插件安装使用

1
sudo rabbitmq-plugins enable rabbitmq_management

用上面创建的用户登录控制台(也可用默认账号guest,密码guest):http://localhost:15672

rabbitmq-CLI-tools

rabbitmq提供了如下几种工具来管控服务:

  • rabbitmqctl:用于服务管理和一般操作员任务
  • rabbitmq-diagnostics: 用于诊断和健康检查
  • rabbitmq-plugins:用于插件管理
  • rabbitmqadmin:用于HTTP API上的操作员任务

由于上文已提到了用户创建,所以这里简单说明一下rabbitmqctl在用户管理和权限控制方面的操作,有关rabbitmqctl对队列,连接,渠道,交换,消费者、政策、集群方面的,以及rabbitmq-diagnostics、rabbitmq-plugins、rabbitmqadmin等几个工具的操作可查看官方文档

用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 添加用户
rabbitmqctl add_user username password
# 删除用户
rabbitmqctl delete_user username
# 更改用户密码
rabbitmqctl change_password username newpassword
# 清除用户密码
rabbitmqctl clear_password usename
# 验证用户及密码
rabbitmqctl authenticate_user username password
# 设置用户标签
rabbitmqctl set_user_tags username tag-name
# 查看用户列表
rabbitmqctl list_users

权限管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 添加vhost
rabbitmqctl add_vhost vhost-name
# 删除vhost
rabbitmqctl delete_vhost vhost-name
# 查看vhost信息[名称] [是否为此虚拟主机启用了跟踪]
rabbitmqctl list_vhosts [name] [tracing]
# 设置用户权限 vhost名 用户 配置、写、读权限(正则表达式)
rabbitmqctl set_permissions -p my-vhost janeway “^janeway-.*” “.*” “.*”
# 清除用户权限
rabbitmqctl clear_permissions [-p my-vhost] username
# 查看虚拟主机下所有用户的权限
rabbitmqctl list_permissions -p my-vhost
# 查看单个用户的权限
rabbitmqctl list_user_permissions username