1-3 RabbitMQ简介/安装

2020-07-08  本文已影响0人  Finlay_Li

简单架构

image.png

消息流转图

image.png

RabbitMQ安装和使用

官网地址:https://www.rabbitmq.com/

Erlang和RabbitMQ版本对照表:https://www.rabbitmq.com/which-erlang.html

相关软件包和资料:链接:https://pan.baidu.com/s/1uFP2YU7xPK2KBkaP4gXvLw 提取码:s6z8

安装Rabbitmq

# 1、将需要的安装包下载到Linux系统
erlang-18.3-1.el7.centos.x86_64.rpm # Erlang语言安装包
rabbitmq-server-3.6.5-1.noarch.rpm # RabbitMQ安装包
socat-1.7.3.2-1.1.el7.x86_64.rpm # 秘钥

# 2、安装Erlang环境
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

# 3、安装socat
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm

# 4、安装RabbitMQ
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

# 5、RabbitMQ配置文件的修改
路径: vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app  # rabbit.app是json格式的配置文件

42          {loopback_users, [guest]}, # 修改42行 去掉guest两边的引号和尖括号,最后结果和左边代码保持一致

Rabbitmq服务的启动和停止

# 1、查看Rabbitmq可以使用的命令 
[root@centos-7-test1 ~]# rabbitmq
rabbitmqctl       rabbitmq-plugins  rabbitmq-server

# 2、启动Rabbitmq服务
rabbitmq-server start &  # & 代表后台启动服务

# 启动RabbitMQ服务
[root@centos-7-test1 ~]# rabbitmq-server start &
[1] 3293
[root@centos-7-test1 ~]# 
              RabbitMQ 3.6.5\. Copyright (C) 2007-2016 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /var/log/rabbitmq/rabbit@centos-7-test1.log
  ######  ##        /var/log/rabbitmq/rabbit@centos-7-test1-sasl.log
  ##########
              Starting broker...
 completed with 0 plugins.

# 3、查看Rabbitmq是否启动成功? 看到下面的结果就证明RabbitMQ启动成功了!  
[root@centos-7-test1 ~]# lsof -i:5672
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 2586 rabbitmq   52u  IPv6  36396      0t0  TCP *:amqp (LISTEN)

# 4、Rabbitmq服务的停止
rabbitmqctl stop_app

# 5、安装Rabbitmq管理插件,可以通过浏览器控制台访问
rabbitmq-plugins list # 可以查看Rabbitmq提供的插件

rabbitmq-plugins enable rabbitmq_management # 安装Rabbitmq控制台插件 控制台默认端口是15672

# 6、浏览器访问Rabbitmq控制台 默认用户名和密码都是guest
http://192.168.110.133:15672

命令行和管控台

基础操作

# 1、启动应用
rabbitmqctl start_app

# 2、关闭应用
rabbitmqctl stop_app

# 3、节点状态
rabbitmqctl status

# 4、添加用户
rabbitmqctl add_user [username] [password]

# 4、列出所有的用户列表
rabbitmqctl list_users

# 5、删除用户
rabbitmqctl delete_user [username]

# 6、清除用户权限
rabbitmqctl clear_permissions -p [vhostpath] [username]

# 7、列出用户权限
rabbitmqctl list_user_permissions [username]

# 8、修改密码
rabbitmqctl change_password [username] [newpassword]

# 9、设置用户权限
rabbitmqctl set_permissions -p [vhostpath] [username] ".*" ".*" ".*"

# 10、创建虚拟主机
rabbitmqctl add_vhost [vhostpath]

# 11、列出所有的虚拟主机
rabbitmqctl list_vhosts

# 12、列出虚拟主机上所有权限
rabbitmqctl list_permissions -p [vhostpath]

# 13、删除虚拟主机
rabbitmqctl delete_vhost [vhostpath]

# 14、查看所有队列消息
rabbitmqctl list_queues

# 15、清除队列里的消息
rabbitmqctl -p [vhostpath] purge_queue blue

登录MQ管理界面

开启管理界面后,guest只允许本地登录的,要想远程,就要创建新角色。不违背MQ设计初衷

rabbitmqctl add_user admin aidt123456

rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p "/" admin "." "." ".*"

相关帖子:https://www.jianshu.com/p/e3af4cf97820

管理界面简介

image.png

创建Virtual Hosts = 创建账户

像mysql有数据库的概念并且可以指定用户对库和表等操作的权限。

那RabbitMQ呢?RabbitMQ也有类似的权限管理。

在RabbitMQ中可以虚拟消息服务器VirtualHost,每个VirtualHost相当一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。

exchange、queue、message不能互通。

在RabbitMQ中无法通过AMQP创建VirtualHost,可以通过以下命令来创建。

rabbitmqctl add_vhost [vhostname]

当然也可以通过WEB管理插件来创建。

image.png image.png

配置用户操作host权限

image.png image.png

交换机

image.png

队列界面

Ready代表消费者还可以读到的条数,Unacked:代表还有多少条没有被应答

image.png

端口号

image.png

集群迁移

image.png
上一篇下一篇

猜你喜欢

热点阅读