今天想用RabbitMQ来进行信息的队列管理,当然除此之外还有很多消息队列,比如(kafka,memcachemq,redis list等等),下面说下为什么我选择它?

一、RabbitMQ的优点

相对其它开源产品而言,RabbitMQ还是有很多优点的:
1、基于erlang语言开发具有高可用高并发的优点,适合集群服务器
2、健壮、稳定、易用、跨平台、支持多种语言、文档齐全
3、有消息确认机制和持久化机制,可靠性高

二、 消息队列及使用介绍

2.1 消息队列(Message Queue)

把消息的内容放入到一个缓存区内,进行排队,程序会逐一的进行调取并处理(就好比餐厅点餐进行排队,逐一处理)
另外,还可以将较慢/较复杂的处理逻辑、有并发数量限制的处理逻辑)

2.2 使用场景

短信服务、电子邮件服务、图片处理服务、好友动态推送服务等。

三、安装使用注意事项

1、安装erlang需要等待几分钟,如果出错请查看日志分析;
RabbitMQ消息队列_第1张图片

2、RabbitMQ 端口

默认端口:5672
web管理器端口:15672
[root@jump ~]# netstat -lntup|grep 5672
tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN      27282/beam.smp      
tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN      27282/beam.smp

RabbitMQ消息队列
3、防火墙配置

防火墙开启15672端口才能使用web管理平台,初始密码guest不安全,上线必须修改

4、RabbitMQ 【启动、停止、查看】

1)后台启动  
nohup sbin/rabbitmq-server start  &
2)  停止rabbitmq服务
sbin/rabbitmqctl stop
3) 查看rabbitmq服务
ps -af |grep rabbitmq

四、RabbitMQ部署过程

1,安装依赖关系所需软件包

yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc

2,安装erlang

    wget http://www.erlang.org/download/otp_src_R16B01.tar.gz && ./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll  --without-javac && make && make install

3,创建软连接

ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl

4,添加环境变量

cat /etc/profile

export PATH=$PATH:/usr/local/erlang/bin/

5,下载RabbitMQ 软件

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-generic-unix-3.1.5.tar.gz  && tar zxf rabbitmq-server-generic-unix-3.1.5.tar.gz && cd rabbitmq_server-3.1.5
#可以根据自己需要自行下载,这里我下载的是二进制的文件,解压即用

6,开启web管理器

cd 到安装目录
sbin/rabbitmq-plugins enable rabbitmq_management

7,后台启动 RabbitMQ

第一种 :    ./sbin/rabbitmq-server -detached               ## 启动RabbitMQ并从shell分离
第二种:     nohup sbin/rabbitmq-server start  &           ##使用nohup 使程序在后台运行

8,web登陆验证
http://服务器IP:15672/#/ #默认用户名密码 guest
RabbitMQ消息队列_第2张图片

到这里,rabbitmq服务端已经安装完成,要想php操作rabbitmq,还需要安装amqp扩展,参考我另篇文章

http://blog.csdn.net/nuli888/article/details/51854935