RabbitMQ OS X下安装及常用命令-1
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中,配置文件有两个(注意后缀名都不一样):
- rabbitmq-env.conf
- 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的更多相关文章
- git在windows及linux环境下安装及常用命令
git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version git在linux下安装 下载地址:https://mirrors.e ...
- Linux下安装maven-及常用命令
Linux下安装maven1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2. ...
- RabbitMQ入门教程(一):安装和常用命令
原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...
- ios开发环境配置及cordova安装与常用命令
一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...
- Git安装和常用命令
Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...
- 实验 1 Linux 系统的安装和常用命令
实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...
- 在Mac OS X下安装Android Studio
在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装 ...
- Mac OS X 下安装使用 Docker (2017年7月)
两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...
- 在Mac OS环境下安装MySQL服务
在Mac OS环境下安装MySQL服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我之前介绍过window环境下安装mysql服务,以及在Linux环境下安装mysql服务,今 ...
随机推荐
- HMM隐Markov模型的原理及应用建模
这里不讲定量的公式.(由于我也没全然弄明确.不想误人子弟)仅仅谈高速定性理解. 隐Markov模型原理 隐Markov模型(Hidden Markov Model.HMM)的实质就是:已知几种原始分类 ...
- 小米电视2S加量不加价,你还会买吗?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- javascript 获取页面尺寸/位置
************************************************************************//ie中如果全部不给定值则会都为零(宽和高在设置一个的 ...
- Oracle 正则 整词匹配 \b 不行
在oracle中用整词匹配\b来包裹想要匹配的词并不可行, 正确的做法应该是这样: FROM DUAL WHERE REGEXP_LIKE('1 2 3 14','(^|\s|\W)3($|\s|\W ...
- Java 的抽象特性:抽象类与接口深度解析
要点: 抽象类 接口 抽象类与接口的差别 一. 抽象 对于面向对象编程来说,抽象是它的四大特征之中的一个. 在Java中,能够通过两种形式来体现OOP的抽象:接口和抽象类. 接口和抽象类为我们提供了一 ...
- SyntaxError: Non-ASCII character '\xe5' in file index.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
python入门,hhh 在慕课网上学习python入门,编写汉诺塔的递归调用时,代码正确.但是加上注释后编译不通过 报如下错误: SyntaxError: Non-ASCII character , ...
- Sphinx全文检索引擎测试
数据表 1.documents CREATE TABLE `documents` ( `id` int(13) NOT NULL auto_increment, `group_id` int(11) ...
- Linux 设置IP,gate, 以及自动获取IP的方法
一.使用命令设置ubuntu的ip地址 1.修改配置文件blacklist.conf禁用IPV6: sudo vi /etc/modprobe.d/blacklist.conf 2.在文档最后添加 b ...
- 基于CentOS的MySQL学习补充四--使用Shell批量从CSV文件里插入数据到数据表
本文出处:http://blog.csdn.net/u012377333/article/details/47022699 从上面的几篇文章中,能够知道怎样使用Shell创建数据库.使用Shell创建 ...
- ubuntu内部错误的解决办法
在ubuntu使用过程中,出现下面错误: 对不起,Ubuntu 16.04出现了内部错误. 这并不是ubuntu16.04特有的问题,好像每一个ubuntu版本都有类似的问题. 解决的办法有2个. 1 ...