Erlang环境安装
rabbitmq是运行在erlang环境上的,所以需要安装erlang:
sudo apt-get install erlang
安装rabbitmq
sudo apt-get install rabbitmq-server
rabbitmq服务操作
当通过apt包安装后,可直接使用如下方式操作服务:
service rabbitmq-server status/start/stop/restart/...
但是通过上述方式操作rabbitmq的启动和关闭的时候,会涉及到erlang节点的启动和关闭。
erlang节点:erlang虚拟机运行的实例,运行着erlang应用程序,rabbitmq是erlang节点上的erlang应用程序。
如果想单纯的启动/关闭rabbmq-server程序,可使用如下命令:
sudo rabbitmqctl start_app/stop_app
创建用户
# 添加用户
# 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 ".*" ".*" ".*"
插件安装使用
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等几个工具的操作可查看官方文档
用户管理
# 添加用户
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
权限管理
# 添加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