共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

OS X下安装RabbitMQ

2015-01-29 13:19

OS X下安装RabbitMQ

RabbitMQ是用Erlang写的OpenSource的消息队列(Message Queue)软件,并且有付费的商业版支持。

所谓消息,在类似JMS等现代系统里,尝尝作为一种异步操作的机制,来实现快速的轻量的信息交换。其最简单的模式就是发布-订阅( Publish/Subscribe)。 RabbitMQ的主页在

http://www.rabbitmq.com/

1. 安装

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

# brew install erlang

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

# brew update
# brew install rabbitmq

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

http://www.rabbitmq.com/install-homebrew.html##

2. 一些简单常用的命令

2.1. rabbitmq-server

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

# rabbitmq-server -detached

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

2.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

2.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表示取得消息后即从队列里删除。如果我们只是确认队列里的消息状态而不想真的消费,可以不指定此参数。

3. WEB管理界面

RabbitMQ自带了一个基于Web的管理界面,默认会监听端口15672,即可以通过浏览器来访问http://server-name:15672/。

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

参考

http://liubin.org/2013/09/04/rabbitmq-on-os-x/

Configuration https://www.rabbitmq.com/configure.html

本文链接地址:OS X下安装RabbitMQ
1375 次点击