RabbitMQ的主页在http://www.rabbitmq.com/ 。

1. 安装Erlang

RabbitMQ是用Erlang编写的,所以需要先安装Erlang,如果有的话跳过这步即可(我是跳过了,系统已有)。

# brew install erlang

2. 安装rabbitMq

确保系统有Erlang环境后,即可使用brew安装RabbitMQ了,安装很简单,只需如下即可:

# brew update
# brew install rabbitmq

安装后需要将/usr/local/sbin添加到$PATH里去,我的环境下编辑~/.profile就行了。
具体的官方操作文档在这里:
http://www.rabbitmq.com/install-homebrew.html

3. 一些简单常用的命令

命令都在/usr/sbin目录下。

3.1. rabbitmq-server

rabbitmq-server用来启动RabbitMQ服务器进程:

# rabbitmq-server -detached

如果不加上面的-datached,即非守护启动方式,启动后控制台被挂起,ctrl+c信号会发给其进程,从而可以直接kill掉进程。

3.2. rabbitmqctl

rabbitmqctl 是RabbitMQ中间件的一个用来管理节点(Node)的命令行工具。它针对各个节点的实例进行各种配置和控制。

停止RabbitMQ应用并关闭节点(即同时停止rabbitmq的进程及Erlang虚拟机)

# rabbitmqctl stop

用上面方法停止RabbitMQ后,只能再通过rabbitmq-server来启动RabbitMQ服务。

只停止RabbitMQ应用 (erl还在运行中,可通过start_app再启动服务)

# rabbitmqctl stop_app

启动RabbitMQ应用 (和停止RabbitMQ应用对应)

# rabbitmqctl start_app

显示RabbitMQ中间件各种信息

# rabbitmqctl -q status

[{pid,1021},{running_applications,[{rabbitmq_management,"RabbitMQ Management Console","3.5.3"},{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.5.3"},{webmachine,"webmachine","1.10.3-rmq3.5.3-gite9359c7"},{mochiweb,"MochiMedia Web Server","2.7.0-rmq3.5.3-git680dba8"},{rabbitmq_mqtt,"RabbitMQ MQTT Adapter","3.5.3"},{rabbitmq_stomp,"Embedded Rabbit Stomp Adapter","3.5.3"},{rabbitmq_management_agent,"RabbitMQ Management Agent","3.5.3"},{rabbitmq_amqp1_0,"AMQP 1.0 support for RabbitMQ","3.5.3"},{rabbit,"RabbitMQ","3.5.3"},{os_mon,"CPO  CXC 138 46","2.3.1"},{mnesia,"MNESIA  CXC 138 12","4.12.5"},{amqp_client,"RabbitMQ AMQP Client","3.5.3"},{inets,"INETS  CXC 138 49","5.10.6"},{xmerl,"XML parser","1.3.7"},{sasl,"SASL  CXC 138 11","2.4.1"},{stdlib,"ERTS  CXC 138 10","2.4"},{kernel,"ERTS  CXC 138 10","3.2"}]},{os,{unix,darwin}},{erlang_version,"Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [async-threads:30] [hipe] [kernel-poll:true]\n"},{memory,[{total,44296616},{connection_readers,0},{connection_writers,0},{connection_channels,0},{connection_other,5616},{queue_procs,68848},{queue_slave_procs,0},{plugins,543352},{other_proc,14341880},{mnesia,80856},{mgmt_db,134344},{msg_index,41448},{other_ets,1295928},{binary,166520},{code,21567638},{atom,744345},{other_system,5305841}]},{alarms,[]},{listeners,[{clustering,25678,"::"},{amqp,5678,"127.0.0.1"},{stomp,61613,"::"},{mqtt,1883,"::"}]},{vm_memory_high_watermark,0.4},{vm_memory_limit,2972144435},{disk_free_limit,50000000},{disk_free,42164834304},{file_descriptors,[{total_limit,156},{total_used,5},{sockets_limit,138},{sockets_used,3}]},{processes,[{limit,1048576},{used,212}]},{run_queue,0},{uptime,2123}]

启动插件

user@localhost:/usr/local/Cellar/rabbitmq/3.5.3/sbin> ./rabbitmq-plugins enable rabbitmq_management

启动插件成功:

The following plugins have been enabled:mochiwebwebmachinerabbitmq_web_dispatchrabbitmq_management_agentrabbitmq_managementApplying plugin configuration to rabbit@localhost... started5 plugins.

默认可是可以再本地登陆,使用guest用户,密码也是guest. http://localhost:15672

注意:guest用户不能远程登陆。

  进入/usr/sbin目录 可以使用./rabbitmqctl add_user 用户名 密码

  例如:./rabbitmqctl add_user peter 123456

  并设置新添加的用户状态 使用./rabbitmqctl set_user_tags wuge administrator

更多参考:https://www.rabbitmq.com/management.html#configuration

关闭插件

./rabbitmq-plugins disable rabbitmq_management

关闭插件成功

The following plugins have been disabled:mochiwebwebmachinerabbitmq_web_dispatchrabbitmq_management_agentrabbitmq_managementApplying plugin configuration to rabbit@localhost... stopped5 plugins.

查看已经安装的插件

./rabbitmq-plugins list

结果

Configured: E = explicitly enabled; e =implicitly enabled| Status:   * =running on rabbit@localhost|/[e*] amqp_client                       3.5.3[  ] cowboy0.5.0-rmq3.5.3-git4b93c2d
[e*] mochiweb                          2.7.0-rmq3.5.3-git680dba8
[E*] rabbitmq_amqp1_0                  3.5.3[  ] rabbitmq_auth_backend_ldap3.5.3[  ] rabbitmq_auth_mechanism_ssl3.5.3[  ] rabbitmq_consistent_hash_exchange3.5.3[  ] rabbitmq_federation3.5.3[  ] rabbitmq_federation_management3.5.3[E*] rabbitmq_management               3.5.3[e*] rabbitmq_management_agent         3.5.3[  ] rabbitmq_management_visualiser3.5.3[E*] rabbitmq_mqtt                     3.5.3[  ] rabbitmq_shovel3.5.3[  ] rabbitmq_shovel_management3.5.3[E*] rabbitmq_stomp                    3.5.3[  ] rabbitmq_test3.5.3[  ] rabbitmq_tracing3.5.3[e*] rabbitmq_web_dispatch             3.5.3[  ] rabbitmq_web_stomp3.5.3[  ] rabbitmq_web_stomp_examples3.5.3[  ] sockjs0.3.4-rmq3.5.3-git3132eb9
[e*] webmachine                        1.10.3-rmq3.5.3-gite9359c7

列出当前Rabbit的插件列表:

./rabbitmq-plugins list -v  显示所有可以用的插件
./rabbitmq-plugins list -m  仅显示插件名称
./rabbitmq-plugins list -E  显示所有使用的插件

/rabbitmq-plugins list -E

 Configured: E = explicitly enabled; e =implicitly enabled| Status:   * =running on rabbit@localhost|/[E*] rabbitmq_amqp1_0    3.5.3[E*] rabbitmq_management 3.5.3[E*] rabbitmq_mqtt       3.5.3[E*] rabbitmq_stomp      3.5.3

查看exchange信息:

./rabbitmqctl list_exchanges name type durable auto_delete arguments

 
查看队列信息:
./rabbitmqctl list_queues name durable auto_delete messages consumers memory



 查看绑定信息:

访问http://localhost:15672进入rabbitMq的后台管理:

新建 type 为topic 的exchange:

新建 Durable的Queues

把Exchange: IhotelOrderExchange 通过Routing key (*.P1)bind到Queue IhotelOrderQueue

查看IhotelOrderQueue绑定的Exchange

3.3. rabbitmqadmin

Management Command Line Tool 是RabbitMQ管理插件提供的工具,提供几乎和管理界面一样的功能。
它能做的事情很多,比如:

  • 查看exchanges, queues, bindings, vhosts, users, permissions, connections 和 channels
  • 查看node概要信息
  • 创建或删除exchanges, queues, bindings, vhosts, users 和 permissions.
  • 生产和消费消息
  • 备份、恢复配置信息等。

创建queue

# rabbitmqadmin declare queue name=test
queue declared

发布消息

# rabbitmqadmin publish exchange=amq.default routing_key=test payload=”hello, world”
Message published

消费消息

# rabbitmqadmin get queue=test requeue=false

requeue=false表示取得消息后即从队列里删除。如果我们只是确认队列里的消息状态而不想真的消费,可以不指定此参数。

4. 更改配置文件

像上面那样我们简单的就可以运行其RabbitMQ的服务程序并进行消息的收发,并不需要做什么设置。

不错,默认的RabbitMQ已经为我们做了很多默认的设置,通过brew安装的话默认一些文件路径如下:

  • Logs: /usr/local/var/log/rabbitmq
  • Config: /usr/local/etc/rabbitmq
  • Mnesia Database: /usr/local/var/lib/rabbitmq/mnesia

然后,有时候默认设置是不能满足我们的需求的,更细化、个性的设置,
我们都可以通过修改RabbitMQ的配置文件来完成。

在RabbitMQ中,配置文件有两个(注意后缀名都不一样):

  1. rabbitmq-env.conf
  2. rabbitmq.config

rabbitmq-env.conf

其中,rabbitmq-env.conf的位置是固定的,不能改变的。里主要进行环境变量的设置,比如系统安装后默认的设置内容如下:

# cat rabbitmq-env.conf
CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
NODE_IP_ADDRESS=127.0.0.1
NODENAME=rabbit@localhost

通过变量CONFIG_FILE指定了rabbitmq.config的位置(注意没有后缀名,RabbitMQ会自动天剑的)
默认的服务器监听IP地址是127.0.0.1,如果想在其它机器访问,需要修改一下这个值。

rabbitmq.config

rabbitmq.config的文件位置是可以配置的,且文件内容是已Erlang的语法来记述的。

关于两个配置文件的具体说明,请参考官方文档:http://www.rabbitmq.com/configure.html

RabbitMQ OS X下安装及常用命令-1相关推荐

  1. python安装库常用命令

    python安装库常用命令 1.python库添加与查询 添加库的方法: 1.Windows+R打开运行,然后输入CMD进入命令提示符. 2.输入:where python .就会反馈出python安 ...

  2. 在Mac OS环境下安装MySQL服务

    在Mac OS环境下安装MySQL服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我之前介绍过window环境下安装mysql服务,以及在Linux环境下安装mysql服务,今 ...

  3. linux下载安装的命令,linux安装和常用命令

    linux安装和常用命令 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 Linux安装和常用命令常用命令:文件管理:1,cat:把 ...

  4. iOS:如何在iphone、ipad上安装一些常用命令行命令

    iOS:如何在iphone.ipad上安装一些常用命令行命令 相信对Linux.Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过 ...

  5. Stata17安装及常用命令使用教程

    Stata17安装及常用命令使用教程 一.安装Stata17 二.安装外部命令 三.常用命令及操作 1.输入数据 2.描述性统计 3.线性回归 4.内生性检验 一.安装Stata17 链接:https ...

  6. Chocolatey安装与常用命令

    文章目录 Chocolatey安装与常用命令 1. Chocolatey的安装 (1) cmd安装 (2) PowerShell安装 2. 检查与更新 (1) 检查是否安装成功 (2) 查看安装目录 ...

  7. MongoDB快速上手、windows安装、常用命令、文档基本增删改查、mongoDB的索引

    MongoDB快速上手 目标 理解MongoDB的业务场景.熟悉MongoDB的简介.特点和体系结构.数据类型等. 能够在Windows和Linux下安装和启动MongoDB.图形化管理界面Compa ...

  8. Linux-Day01_简介_安装_常用命令_虚拟机快照_静态ip

    Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应 ...

  9. Docker在CentOS7上的安装及常用命令

    Docker简介:Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

最新文章

  1. 几家OA厂商介绍及产品特点总结
  2. 流式细胞凋亡检测实验常见问题解析
  3. android 锁屏解决方案,Android 实现锁屏的较完美方案
  4. 智能建筑进入新的十年
  5. eclipse 修改maven项目的jdk版本
  6. linux内核中断向量表,中断向量表
  7. 你想象中的实习是什么样的?
  8. 根据id获取多维数组路径_程序员的进阶课-架构师之路(2)-数组
  9. (kruskal)还是畅通工程
  10. 删除python类中所有未使用的方法?
  11. linux光盘运行iso,如何在Windows,Mac和Linux上从光盘创建ISO文件 | MOS86
  12. java-TreeSet进行排序的2种方式
  13. Lua 包管理 - Luarocks 使用指南
  14. 管道爬行机器人内部陀螺仪_管道爬行机器人组成部分
  15. 域控服务器的ip地址,修改Active Directory域控制器IP地址
  16. 一些又用的国内著名期刊
  17. 基于Java桌面GUI设计的图书管理系统
  18. 什么是代理IP?怎么在浏览器中配置代理IP?
  19. opengl绘制卡通人物哆啦A梦
  20. python学生管理系统用列表_史上最全面的python学生管理系统教程(二)

热门文章

  1. GdiPlus[59]: 图像(十一) IGPImageAttributes 之颜色矩阵(TGPColorMatrix)变换
  2. SparkSQL ThriftServer 安全相关功能的现状分析
  3. pandas 调整显示的行数列数
  4. linux C函数之strdup函数分析【转】
  5. 设置文字QT按钮包含图片与文字,以及鼠标停留备注显示,和sheetstyle风格设置。...
  6. 巧用CSS提升表格呈现性能
  7. Multiple Spring Data modules found, entering strict repository configuration mode!
  8. read-sequence的返回值
  9. 并发编程之——读锁源码分析(解释关于锁降级的争议)
  10. Codeforces Beta Round #96 (Div. 1) D. Constants in the language of Shakespeare 贪心