RabbitMQ 安装部署
1、安装依赖
yum install socat -y
2、安装Erlang
https://github.com/rabbitmq/erlang-rpm/releases/download/v23.0.2/erlang-23.0.2-1.el7.x86_
64.rpm
rpm -ivh erlang-23.0.2-1.el7.x86_64.rpm
3、安装RabbitMQ
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.
8.5-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.8.4-1.el7.noarch.rpm
4、开启rabbitmq_management插件
cd /usr/lib/rabblitmq/lib/sbin
#查看已有的插件
rabbitmq-plugins list
#开启rabbitmq_management 插件
rabbitmq-plugins enable rabbitmq_management
5、启动rabbitmq
#前台方式启动
systemctl start rabbitmq-server / rabbitmq-server
#后台方式启动
rabbitmq-server -detached
6
、添加用户
rabbitmqctl add_user root 123456
7
、给用户添加权限
给
root
用户在虚拟主机
"/"
上的配置、写、读的权限
rabbitmqctl set_permissions root -p / ".*" ".*" ".*"
8
、给用户设置标签
rabbitmqctl set_user_tags root administrator
用户标签和权限
Tag
|
Capabilities
|
(None)
|
没有访问
management
插件的权限
|
management
|
可以使用消息协议做任何操作的权限,加上:
1.
可以使用
AMQP
协议登录的虚拟主机的权限
2.
查看它们能登录的所有虚拟主机中所有队列、交换器和绑定的权限
3.
查看和关闭它们自己的通道和连接的权限
4.
查看它们能访问的虚拟主机中的全局统计信息,包括其他用户的活动
|
policymaker
|
所有
management
标签可以做的,加上:
1.
在它们能通过
AMQP
协议登录的虚拟主机上,查看、创建和删除策略以及虚
拟主机参数的权限
|
monitoring
|
所有
management
能做的,加上:
1.
列出所有的虚拟主机,包括列出不能使用消息协议访问的虚拟主机的权限
2.
查看其他用户连接和通道的权限
3.
查看节点级别的数据如内存使用和集群的权限
4.
查看真正的全局所有虚拟主机统计数据的权限
|
administrator
|
所有
policymaker
和
monitoring
能做的,加上:
1.
创建删除虚拟主机的权限
2.
查看、创建和删除用户的权限
3.
查看、创建和删除权限的权限
4.
关闭其他用户连接的权限
|
RabbitMQ差用的命令
# 前台启动Erlang VM和RabbitMQ
rabbitmq-server
# 后台启动
rabbitmq-server -detached
# 停止RabbitMQ和Erlang VM
rabbitmqctl stop
# 查看所有队列
rabbitmqctl list_queues
# 查看所有虚拟主机
rabbitmqctl list_vhosts
# 在Erlang VM运行的情况下启动RabbitMQ应用
rabbitmqctl start_app rabbitmqctl stop_app
# 查看节点状态
rabbitmqctl status
# 查看所有可用的插件
rabbitmq-plugins list
# 启用插件
rabbitmq-plugins enable <plugin-name>
# 停用插件
rabbitmq-plugins disable <plugin-name>
# 添加用户
rabbitmqctl add_user username password
# 列出所有用户
rabbitmqctl list_users
# 删除用户
rabbitmqctl delete_user username
# 清除用户权限
rabbitmqctl clear_permissions -p vhostpath username
# 列出用户权限
rabbitmqctl list_user_permissions username
# 修改密码
rabbitmqctl change_password username newpassword
# 设置用户权限
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*"
# 创建虚拟主机
rabbitmqctl add_vhost vhostpath
# 列出所以虚拟主机
rabbitmqctl list_vhosts
# 列出虚拟主机上的所有权限
rabbitmqctl list_permissions -p vhostpath
# 删除虚拟主机
rabbitmqctl delete_vhost vhost vhostpath
# 移除所有数据,要在 rabbitmqctl stop_app 之后使用
rabbitmqctl reset
SpringBoot 整合RabbitMQ
1、application.yml添加配置
spring:
application:
name: springboot-rabbitmq
rabbitmq:
host: 110.42.202.99
virtual-host: /
username: root
password: 123456
port: 5672
2、添加RabbitConfig配置类
package com.rabbitmq.code.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitConfig {
@Bean
public Queue createQueue(){
return new Queue("shopqueue");
}
@Bean
public Exchange createExchange(){
return new DirectExchange("shopex",false,false,null);
}
@Bean
public Binding createBinding(){
return new Binding("shopqueue",Binding.DestinationType.QUEUE,"shopex","direct.biz.ex",null);
}
}