很久以前,就已经在项目中使用RabbitMQ了,但是就是这么糊里糊涂的用着,按照别人的写好的模板,修改几个参数就好了,实际上对RabbitMQ并不了解多少,所以打算从下载安装开始,慢慢了解RabbitMQ。
一 RabbitMQ是什么?
RabbitMQ 是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现,RabbitMQ的官网是 http://www.rabbitmq.com
二 RabbitMQ能帮助我们做什么?
1)帮助信息的发送者和接收者如何维持这个连接。
2)降低发送者和接收者的耦合度。
3)让Priority高的接收者先接到数据。
4)做到load balance。
5)有效的将数据发送到相关的接收者。
6)做到可扩展,甚至将这个通信模块发到cluster上。
7)保证接收者接收到了完整,正确的数据。
三 RabbitMQ该怎么用?
安装RabbitMQ之前我们先来安装erlang,具体见 http://www.erlang-cn.com/55.html,这里就不演示了。
接下来我们就来下载以及安装 RabbitMQ.
1) 从RabbitMQ 官网 下载对应的版本 (http://www.rabbitmq.com/download.html)
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.1/rabbitmq-server-generic-unix-3.5.1.tar.gz
2)解压安装
tar zxvf rabbitmq-server-generic-unix-3.5.1.tar.gz
mv rabbitmq_server-3.5.1/ /usr/local/rabbitmq-3.5.1/
cd /usr/local/rabbitmq-3.5.1
./sbin/rabbitmq-server -detached
就这样我们的消息队列已经跑起来了,是不是很简单.
如果出现 ERROR: epmd error for host "****": timeout (timed out establishing tcp connection) 说明你主机名和ip不匹配了,需要更改/etc/hosts
IP HOSTNAME
3)开启管理的插件。
./sbin/rabbitmq-plugins enable rabbitmq_management
再访问 http://server-name:15672就可以管理界面了,我的是 http://192.168.8.179:15672, 默认账户密码为guest guest,我们登录的时候可能会报错 HTTP access denied: user ‘guest’ – User can only log in via localhost。
这是因为rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中 (/etc/rabbitmq/rabbitmq.config)中设置loopback_users为[]。./etc/rabbitmq/rabbitmq.config(需要自己建)文件完整内容如下(注意后面的半角句号):
1
|
[{rabbit, [{loopback_users, []}]}].
|
到这里我们就把rabbitmq安装好了。