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:
mochiweb
webmachine
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management Applying plugin configuration to rabbit@localhost... started 5 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:
mochiweb
webmachine
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management Applying plugin configuration to rabbit@localhost... stopped 5 plugins.

查看已经安装的插件

./rabbitmq-plugins list

结果

Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@localhost
|/
[e*] amqp_client 3.5.3
[ ] cowboy 0.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_ldap 3.5.3
[ ] rabbitmq_auth_mechanism_ssl 3.5.3
[ ] rabbitmq_consistent_hash_exchange 3.5.3
[ ] rabbitmq_federation 3.5.3
[ ] rabbitmq_federation_management 3.5.3
[E*] rabbitmq_management 3.5.3
[e*] rabbitmq_management_agent 3.5.3
[ ] rabbitmq_management_visualiser 3.5.3
[E*] rabbitmq_mqtt 3.5.3
[ ] rabbitmq_shovel 3.5.3
[ ] rabbitmq_shovel_management 3.5.3
[E*] rabbitmq_stomp 3.5.3
[ ] rabbitmq_test 3.5.3
[ ] rabbitmq_tracing 3.5.3
[e*] rabbitmq_web_dispatch 3.5.3
[ ] rabbitmq_web_stomp 3.5.3
[ ] rabbitmq_web_stomp_examples 3.5.3
[ ] sockjs 0.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. git在windows及linux环境下安装及常用命令

    git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version git在linux下安装 下载地址:https://mirrors.e ...

  2. Linux下安装maven-及常用命令

        Linux下安装maven1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2. ...

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

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

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

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

  5. Git安装和常用命令

    Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...

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

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

  7. 在Mac OS X下安装Android Studio

    在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装 ...

  8. Mac OS X 下安装使用 Docker (2017年7月)

    两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...

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

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

随机推荐

  1. java-----instanceof与getClass的区别

    在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别: publi ...

  2. 〖Android〗(how-to) fix k860/k860i buletooth.

    bluedroid.so for k860/k860i 1./media/Enjoy/AndroidCode/cm10.1/device/lenovo/stuttgart/bluetooth/blue ...

  3. ubuntu系统——增加磁盘空间

    1.df查看磁盘使用情况 2.将windows下的磁盘空间分出与部分给ubuntu 3.格式化磁盘    在终端输入:mkfs -t ext3 /dev/sdb1    用ext3格式对/dev/sd ...

  4. Unity3D游戏开发之SQLite让数据库开发更简单

    各位朋友大家好.欢迎大家关注我的博客,我是秦元培,我是博客地址是http://blog.csdn.net/qinyuanpei.在经历了一段时间的忙碌后,博主最终有时间来研究新的东西啦,今天博客向和大 ...

  5. hibernate+spring mvc, 解决hibernate 对象懒加载 json序列化问题

    引用地址 在使用Spring MVC时,@ResponseBody 注解的方法返回一个有懒加载对象的时候出现了异常,以登录为例: @RequestMapping("login") ...

  6. elipse快捷键大全 elipse快捷键详解

    1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xm ...

  7. hibernate中一些属性对操作的影响

    1 inverse,在一对多中使用,表示是否有关联关系控制权.对于保存.删除数据有影响. 2 cascade,表示级联操作 save-update 表示级联保存和更新 delete 表示级联删除 al ...

  8. Laravel Eloquent ORM--整理(未转)

    转:http://blog.csdn.net/a437629292/article/details/46312695 http://www.jianshu.com/p/cb641a4f3599

  9. 每日英语:Yahoo's Rally: Made in China

    The typical honeymoon doesn't last too long before the hard work of marriage begins. And so it norma ...

  10. 模板中的 TemplateBinding 问题

    昨天一个朋友向我求助一个自定义水印控件绑定的问题,问题出在文本框中输入的文本,不能绑定到 相应的依赖属性上(自定义的依赖属性 PassText),他纠结了很久找不出问题所在.问题帮他解决后,这里稍 做 ...