原文:RabbitMQ入门教程(一):安装和常用命令

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

分享一个朋友的人工智能教程。比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看。

一:Mac安装

Mac安装比Windows安装更加方便,也不需要再额外配置Web插件,因为在安装的时候默认已经配置好了

// 在Updating Homebrew...时可能会卡一会,只需要等就行了
// 在安装的过程中可能因为网络问题,可能会有部分会失败,此时只需要载次执行该命令,直到全部成功即可,注意一定要检查一下是否有部分失败,为安全起见,可以多执行几次该命令
brew install rabbitmq // 配置环境变量,将下面添加到~/.bash_profile中即可
export PATH=$PATH:/usr/local/sbin // 立即生效
source ~/.bash_profile // 启动RabbimtMQ服务, 注意安装最新版的不需要再单独安装插件了,默认已经安装过了,可以通过使用参数 -detached 以守护的方式后台运行
rabbitmq-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

安装成功后就可以在浏览器上看到如下登录页面, 在地址栏中输入http://localhost:15672/,Username:guest Password:guest, 使用访客账号就可登录进去

二:Windows安装

Windows安装需要先安装Erlang,再安装RabbitMQ,再配置插件,在配置插件的时候可能会出现错误

  • 第一步:安装Erlang OTP,由于RabbitMQ是用Erlang编写的,所以在安装RabbitMQ之前要先安装Erlang 下载地址:http://www.erlang.org/downloads 下载最新版本即可,例如OTP 20.0 Windows 64-bit Binary File, 下载完成后解压,双击otp_win64_20.0.exe 一路next即可,安装成功后需要配置环境变量,可以新建一个变量,例如ERLANG_HOME=D:\erl9.0,最后将环境变量追加到Path中去Path中追加:%ERLANG_HOME\bin%;

  • 第二步:安装RabbitMQ,在官网上下载最新的RabbitMQ(http://www.rabbitmq.com/) 双击rabbitmq-server-3.6.10 一路next即可,安装成功后同样需要配置环境变量,将D:\RabbitMQ\rabbitmq_server-3.6.10\sbin追加到Path中

  • 第三步:安装RabbitMQ Management 插件,执行命令:rabbitmq-plugins enable rabbitmq_management 如果幸运的话一步成功,不知道最新版本会不会好安装,如果在安装中报错,要根据具体错误来解决

// 错误1:Plugin configuration unchanged
D:\RabbitMQ\rabbitmq_server-3.6.10\sbin>rabbitmq-plugins enable rabbitmq_management
Plugin configuration unchanged. Applying plugin configuration to rabbit@zm-PC... failed.
* Could not contact node rabbit@zm-PC.
Changes will take effect at broker restart.
* Options: --online - fail if broker cannot be contacted.
--offline - do not try to contact broker. 解决办法:将C:\Windows\.erlang.cookie 覆盖到C:\Users\用户名下的.erlang.cookie文件 然后重新安装:D:\RabbitMQ\rabbitmq_server-3.6.10\sbin>rabbitmq-plugins enable rabbitmq_management
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
// 错误2:noting to do.
1.rabbitmq-plugins.bat enable rabbitmq_management
2.rabbitmq-service.bat stop
3.rabbitmq-service.bat install 这句话没用,提示:RabbitMQ service is already present - onlyupdating service parameters
4.rabbitmq-service.bat start
打开浏览器登录:http://127.0.0.1:15672
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我就是通过这种方式来解决错误的,虽然命令行中报错,还出现乱码,但是确实可以通过http://127.0.0.1:15672来访问登录页面,参考的文章:http://blog.csdn.net/mooreliu/article/details/44673845

RabbitMQ Management 非常重要,它可以用来管理RabbitMQ,操作(CRUD)各种数据,在开发中和生产中都经常用到。

三:常用命令

一台物理机器上可以有多个erlang节点(实例),每个节点可以运行多个应用程序,其中重要的应用程序有RabbitMQ、Erlang语言自带的Mnesia数据库,以及RabbitMQ相关的插件(如RabbitMQ Management)。可以将Erlang节点类比于java的JVM。

RabbitMQ Management 是一个用于操作RabbitMQ的管理界面,可以操作很多常用的操作,但是并不支持所有的操作,命令行支持所有功能。

rabbitmqctl命令行: 命令行比web管理界面更强大,web界面的命令只是rabbitmqctl命令的一个子集

  • 应用程序和集群管理(Application and Cluster Management)、
  • 集群配置(Cluster management)、
  • 用户管理(User management)、
  • 访问控制(Access Control)、
  • 参数管理(Parameter Management)、
  • 政策管理(Policy Management)、
  • 服务器状态(Server Status)
  • Miscellaneous
rabbitmq-server // 同时启动erlang节点和应用程序

// 查看rabrabbitmqctl所支持的命令
rabrabbitmqctl // 查看状态
rabbitmqctl status //停止erlang node,同时关闭erlang节点和应用程序
rabbitmqctl stop // 停止RabbitMQ服务,仅关闭erlang节点上的rabbit应用程序
rabbitmqctl stop_app // 启动RabbitMQ服务
rabbitmqctl start_app // 格式化rabbitmq node(在集群中需要满足一定的条件才能关闭)
rabbitmqctl reset // 强制格式化rabbitmq node
rabbitmqctl force_reset // 清除某个队列的所有消息
rabbitmqctl purge_queue <name> // 添加用户
rabbitmqctl add_user <username> <password> // 设置权限
rabbitmqctl set_permissions -p / <username> ".*" ".*" ".*" // 列举权限
rabbitmqctl list_permissions -p <vhost> // 列举用户的所有权限
rabbitmqctl list_user_permissions <username> // 清除权限
rabbitmqctl clear_permissions -p <vhost> <username> // 认证用户
rabbitmqctl authenticate_user <username> <password> // 修改密码
rabbitmqctl change_password <username> <password> // 列举用户
rabbitmqctl list_users // 删除用户(删除用户时也会把用户相关的权限都删除)
rabbitmqctl delete_user <username> // 设置tag, tag可以为none最小权限角色,management 管理员角色,policymaker决策者,monitoring 监控,administrator 超级管理员
rabbitmqctl set_user_tags <username> <tag> // 添加虚拟主机
rabbitmqctl add_vhost <name> // 删除虚拟主机
rabbitmqctl delete_vhost <name> // 查看所有虚拟主机
rabbitmqctl list_vhost [<vhostinfoitem> ...] // 列举默认虚拟机上的所有队列
rabbitmqctl list_queues // 列出指定虚拟机上的队列
rabbitmqctl list_queues -p <vhost> // 列举队列,包含队列名称、消息数目、消费者数目、内存使用情况、是否持久化、是否自动删除
rabbitmqctl list_queues name messages counsumers memory durable auto_delete // 查看交换机
rabbitmqctl list_exchanges [name] [type] [durable] [auto_delete] // 列举所有绑定
rabbitmqctl list_bindings [-p <vhost>]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79


command line tool

通过curl命令行来访问RabbitMQ Management 中的HTTP API(http://localhost:15672/api/), 返回的格式是json格式


rabbitmqadmin

// 列出服务器上的队列
rabbitmqadmin list queues // 清空队列上的消息
rabbitmqadmin purge queue name=<queue_name> rabbitmqadmin -u <username> -p <password> declare exchange name=<exchange_name> type=<type> // 列举所有连接
rabbitmqadmin list connections name // 关闭某个连接
rabbitmqadmin close connection name=<name>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

管理RabbitMQ有4中方式

  • RabbitMQ Management(Web UI)
  • rabbitmqctl
  • command line tool(curl)
  • rabbitmqadmin

常用配置rabbitmq.config

实际开发中少不了对RabbitMQ的参数进行一些配置,如ip地址,端口号,允许RabbitMQ最大消耗的内存等配置,这些配置可以在配置文件中进行配置/usr/local/etc/rabbitmq/rabbitmq.config


我的微信公众号:

分享一个朋友的人工智能教程。比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看。

RabbitMQ入门教程(一):安装和常用命令的更多相关文章

  1. RabbitMQ OS X下安装及常用命令-1

            RabbitMQ的主页在http://www.rabbitmq.com/ . 1. 安装Erlang RabbitMQ是用Erlang编写的,所以需要先安装Erlang,如果有的话跳过 ...

  2. RabbitMQ入门教程(十四):RabbitMQ单机集群搭建

    原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...

  3. RabbitMQ入门教程(十七):消息队列的应用场景和常见的消息队列之间的比较

    原文:RabbitMQ入门教程(十七):消息队列的应用场景和常见的消息队列之间的比较 分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 这是网上的一篇教程写的很好,不知原作 ...

  4. RabbitMQ入门教程(十五):普通集群和镜像集群

    原文:RabbitMQ入门教程(十五):普通集群和镜像集群 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...

  5. RabbitMQ入门教程(十):队列声明queueDeclare

    原文:RabbitMQ入门教程(十):队列声明queueDeclare 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...

  6. RabbitMQ入门教程(三):Hello World

    原文:RabbitMQ入门教程(三):Hello World 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...

  7. 实验 1 Linux 系统的安装和常用命令

    实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...

  8. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  9. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

随机推荐

  1. HDU 6071 Lazy Running (最短路)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6071 题解 又是一道虐信心的智商题... 首先有一个辅助问题,这道题转化了一波之后就会化成这个问题: ...

  2. Intelij IDEA创建SpringBoot项目 - 配置文件的解释

    springboot介绍 官网:spring.io Spring Boot is designed to get you up and running as quickly as possible, ...

  3. -fPIC编译选项

    -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置 ...

  4. 全面解读PHP-JS和jQuery

    一.变量的定义 1.未使用值来申明的变量,其值为 undefined. 2.如果重新声明一个变量,该变量的值不会丢失. //定义一个变量 var str = 'hello'; //重新申明 var s ...

  5. koa2中间键原理

    一.koa2 const http = require('http'); const compose = require('./compose'); class Koa { constructor() ...

  6. 浏览器端-W3School-HTML:HTML DOM cells 集合

    ylbtech-浏览器端-W3School-HTML:HTML DOM cells 集合 1.返回顶部 1. HTML DOM cells 集合 HTML DOM Table 对象 定义和用法 cel ...

  7. 【内部】Fiddler设置代理请求的方式

    1.2 打开Fiiddler,设置如图步骤: 3.添加规则: 4.这里选择第三个选项: 5.选中^开始,空格结束的如图内容.复制你要代理的地址.如:http://wap.cmread.com/nap/ ...

  8. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

  9. 【ABAP系列】SAP ABAP获取域(domain)值的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP获取域(doma ...

  10. python学习之内存驻留机制简述

    第四章 4.1 小数据池 4.1.1 代码块 一个模块,一个函数,一个类,甚至一个command命名都可以称之为一个代码块. 官方解释: A Python program is constructed ...