安装rabbitmq主要是为了使用它的消息队列,项目中有使用到,所以自己装了个虚拟机然后装Rabbitmq配合项目运行
Rabbitmq的安装教程在官网(Installing on Debian and Ubuntu)也有,我们这里使用的是apt-get来安装,比较简单,几条命令就能搞定。但是Rabbitmq的运行需要Erlang语言的支持,所以我们从安装Erlang开始.
1、安装Erlang
apt-get install erlang # 安装erlang
erl # 查看relang语言版本,成功执行则说明relang安装成功
2、安装Rabbitmq(安装完成后会自动启动)
sudo apt-get install rabbitmq-server
3、查看Rabbitmq状态
systemctl status rabbitmq-server #Active: active (running) 说明处于运行状态
# service rabbitmq-server status 用service指令也可以查看,同systemctl指令
4、启动、停止、重启命令:
service rabbitmq-server start # 启动
service rabbitmq-server stop # 停止
service rabbitmq-server restart # 重启
5、插件安装
启用 web端可视化操作界面,我们还需要配置Management Plugin插件
rabbitmq-plugins enable rabbitmq_management # 启用插件
service rabbitmq-server restart # 重启
6、创建用户
# 添加用户
# 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 ".*" ".*" ".*"
用上面创建的用户登录控制台(也可用默认账号guest,密码guest):http://localhost:15672如果是服务器,则将localhost换成服务器地址。
7、rabbitmq-CLI-tools
rabbitmq提供了如下几种工具来管控服务:
- rabbitmqctl:用于服务管理和一般操作员任务
- rabbitmq-diagnostics: 用于诊断和健康检查
- rabbitmq-plugins:用于插件管理
- rabbitmqadmin:用于HTTP API上的操作员任务
8、用户管理
# 添加用户
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
9、权限管理
# 添加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
有关rabbitmqctl对队列,连接,渠道,交换,消费者、政策、集群方面的,以及rabbitmq-diagnostics、rabbitmq-plugins、rabbitmqadmin等几个工具的操作可查看官方文档