rabbitMQ 各系统安装

RabbitMQ的安装与客户端的简单实用

本文主要内容是RabbitMQ的安装步骤【Windows系统与linux上的安装】及客户端的简单使用。

1、下载

下载地址:http://www.rabbitmq.com/download.html

2、Windows上安装

2.1 安装安装Erlang

下载erlang:http://www.erlang.org/download/otp_win64_17.3.exe

安装:

 

erlang安装完成。

2.2 安装安装RabbitMQ

RabbitMQ安装完成。

启动、停止、重新安装等。

2.3启用管理工具

第一步:点击打开RabbitMQ的命令窗口。如图:

第二步:输入命令rabbitmq-plugins enable rabbitmq_management

这个命令的意思是安装RabbitMQ的插件。

第三步:测试是否安装成功。

方法:访问地址:http://127.0.0.1:15672/

默认账号:guest/guest

3、Linux上安装

3.1安装erlang

添加yum支持

cd /usr/local/src/

mkdir rabbitmq
cd rabbitmq
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo yum install erlang

3.2安装RabbitMQ

上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/
安装:
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
 
几个常用命令:
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
 
chkconfig rabbitmq-server on  //设置开机自启
 
设置配置文件:
cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config
设置用户远程访问:
vi /etc/rabbitmq/rabbitmq.config
去掉后面的逗号
开启web界面管理工具
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
 
防火墙开放15672端口
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save
 

4、Deeping和MacOS上安装

4.1安装erlang

添加yum支持

cd /usr/local/src/

mkdir rabbitmq
Update the package index:
# sudo apt-get update
Install erlang deb package:
# sudo apt-get install erlang

4.2安装RabbitMQ

上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/
安装:
Update the package index:
# sudo apt-get update
Install rabbitmq-server deb package:
# sudo apt-get install rabbitmq-serve
 
几个常用命令:
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
 
去掉后面的逗号
开启web界面管理工具
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
 
防火墙开放15672端口
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save

5、客户端的简单介绍

1、界面的介绍

注意设置虚拟主机与添加用户这块。

关于虚拟主机,Virtual Host,其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Virtual Host

用户角色有下面几种:
  1. 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
  1. 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
  1. 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)
  1. 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
  1. 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
 
 
php连接执行代码
<?php
/*************************************
* PHP amqp(RabbitMQ) Demo - consumer
* Author: Linvo
* Date: 2012/7/30
*************************************/
//配置信息
$conn_args = array(
    'host' => '192.168.1.93',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost'=>'/'
);
$e_name = 'e_linvo'; //交换机名
$q_name = 'q_linvo'; //队列名
$k_route = 'key_1'; //路由key

//创建连接和channel
$conn = new AMQPConnection($conn_args);
if (!$conn->connect()) {
    die("Cannot connect to the broker!
");
}
$channel = new AMQPChannel($conn);

//创建交换机
$ex = new AMQPExchange($channel);
$ex->setName($e_name);
$ex->setType(AMQP_EX_TYPE_DIRECT); //direct类型
$ex->setFlags(AMQP_DURABLE); //持久化
echo "Exchange Status:".$ex->declare()."
";

//创建队列
$q = new AMQPQueue($channel);
$q->setName($q_name);
$q->setFlags(AMQP_DURABLE); //持久化
echo "Message Total:".$q->declare()."
";

//绑定交换机与队列,并指定路由键
echo 'Queue Bind: '.$q->bind($e_name, $k_route)."
";

//阻塞模式接收消息
echo "Message:
";
while(True){
    $q->consume('processMessage');
    //$q->consume('processMessage', AMQP_AUTOACK); //自动ACK应答
}
$conn->disconnect();

/**
* 消费回调函数
* 处理消息
*/
function processMessage($envelope, $queue) {
    $msg = $envelope->getBody();
    echo $msg."
"; //处理消息
    $queue->ack($envelope->getDeliveryTag()); //手动发送ACK应答
}
 
转载至 https://www.cnblogs.com/yangh965/p/5862347.html
原文地址:https://www.cnblogs.com/akidongzi/p/8359545.html