rabbitMQ 各系统安装

Posted 知子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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!\\n");
}
$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()."\\n";

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

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

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

/**
* 消费回调函数
* 处理消息
*/
function processMessage($envelope, $queue) {
    $msg = $envelope->getBody();
    echo $msg."\\n"; //处理消息
    $queue->ack($envelope->getDeliveryTag()); //手动发送ACK应答
}

 

 
转载至 https://www.cnblogs.com/yangh965/p/5862347.html

以上是关于rabbitMQ 各系统安装的主要内容,如果未能解决你的问题,请参考以下文章

Windows安装RabbitMQ

关于在各浏览器中插入音频文件的html代码片段

RabbitMQ-从基础到实战— Hello RabbitMQ

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

RabbitMQ快速入门

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段