AMQP,即Advanced Message Queuing Protocol,高等行列步队协议,是运用层协议的一个开放标准,为面向的中间件设计。中间件紧张用于组件之间的解耦,的发送者无需知道利用者的存在,反之亦然。AMQP的紧张特色是面向、行列步队、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,做事器端用Erlang措辞编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发,在易用性、扩展性、高可用性等方面表现不俗。
安装
安装Erlang

1. 下载erlang
官方下载地址:http://erlang.org/download/otp_src_20.1.tar.gz
2.安装
#解压
tar xvf otp_src_20.1.tar.gz
cd otp_src_20.1
#配置 '--prefix'指定的安装目录
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
#安装
make && make install
3.配置erlang环境变量
vim /etc/profile
#在文件末端添加下面代码 'ERLANG_HOME'即是上一步'--prefix'指定的目录
ERLANG_HOME=/usr/local/erlang
PATH=$ERLANG_HOME/bin:$PATH
export ERLANG_HOME
export PATH
#使环境变量生效
source /etc/profile
#输入命令考验是否安装成功
erl
#如下输出表示安装成功
这样的输出表示成功
安装RabbitMQ
1.下载RabbitMQ
官方下载地址http://www.rabbitmq.com/download.html
2.安装
rabbitmq-server-3.7.3-1.el6.noarch.rpm
安装rpm包:
yum install rabbitmq-server-3.7.3-1.el6.noarch.rpm
3.启动
#启动命令,该命令ctrl+c后会关闭做事
service rabbitmq-server start
#在后台启动Rabbit
rabbitmq-server -detached
#关闭做事
service rabbitmq-server stop
#关闭做事(kill) 找到rabbitmq做事的pid [不推举]
ps -ef|grep rabbitmq
kill -9
4. 添加管理员账号
#进入RabbitMQ安装目录
cd /usr/local/rabbitmq-3.7.3/sbin
#添加用户
#rabbitmqctl add_user Username Password
./rabbitmqctl add_user rabbitadmin 123456
#分配用户标签
#rabbitmqctl set_user_tags User Tag
#[administrator]:管理员标签
./rabbitmqctl set_user_tags rabbitadmin administrator
5.登录管理界面
浏览器输入地址:http://做事器IP地址:15672/
RabbitMQ管理平台登录页面
输入第4部添加的账号密码登录
1.访问不了
安装完成之后如果机器有iptables,须要开放端口
vim /etc/sysconfig/iptables
#RabbitMQ
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT
#RabbitMQ
RabbitMQ常用端口
4369 (epmd),
25672 (Erlang distribution)
5672, 5671 (AMQP 0-9-1 without and with TLS)
15672 (if management plugin is enabled)
61613, 61614 (if STOMP is enabled)
1883, 8883 (if MQTT is enabled)