RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了《RabbitMQ实战  高效部署分布式消息队列》这本书,所以顺便写写。

  那么关于 RabbitMQ 是什么?大家可以首先参考官网:http://www.rabbitmq.com 。这里我大概的介绍一下:

  RabbitMQ  是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器。

  ①、AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。关于 AMQP 的介绍可以参考:https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol,还有官方网站:http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol

  ②、开源。

  ③、使用 Erlang 语言编写,这是一种面向并发的编程语言,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

  接下来我们介绍如何在 Linux 系统上安装 RabbitMQ。

1、安装 Erlang

  就想我们编写Java引用程序需要安装 JDK一样,安装 RabbitMQ ,我们也需要安装 Erlang 。

  ①、下载 erlang 安装包

  

  将安装包下载到 /home/erlang 目录下。

 wget http://www.erlang.org/download/otp_src_R16B02.tar.gz

  ②、解压

 tar -zxvf otp_src_R16B02.tar.gz

  ③、编译安装

  首先进入解压的文件目录,然后安装如下插件

  

  接着设置编译目录为 /usr/local/erlang

  

  最后执行 make  和 make install 命令即可。

  全部命令步骤为:

1、cd otp_src_R16B02
2、yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
3、./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll
4、make
5、make install

  ④、配置环境变量

  通过 vim /etc/profile 命令进入文件,然后敲入如下代码

  

  最后通过如下命令使环境变量生效:

source /etc/profile

  ⑤、验证

  在任意目录下输入 erl 命令,出现如下情况,则 erlang 安装成功:

  

2、安装 RabbitMQ

  ①、下载安装包

  创建 /home/rabbitmq 目录,在该目录下执行如下命令:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-3.1.5.tar.gz 

  ②、解压

tar -zxvf rabbitmq-server-3.1.5.tar.gz

  ③、编译安装

 cd rabbitmq-server-3.1.5
yum -y install xmlto
make
make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man

  将rabbitmq编译到/opt/mq/rabbitmq目录。

  ④、开启 web 插件

 cd /opt/mq/rabbitmq/sbin
mkdir /etc/rabbitmq/
./rabbitmq-plugins enable rabbitmq_management

3、启动和关闭RabbitMQ

 启动监控管理器:rabbitmq-plugins enable rabbitmq_management
关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
启动rabbitmq:rabbitmq-service start
关闭rabbitmq:rabbitmq-service stop
查看所有的队列:rabbitmqctl list_queues
清除所有的队列:rabbitmqctl reset
关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app

  通过第 3 条命令启动rabbitmq 服务,然后在浏览器上输入

ip:15672

  出现如下界面即可。其中 ip 是安装 rabbitmq 的机器ip地址,15672 是rabbitmq的默认端口。

  ps:如果不能打开如下画面,可能是防火墙没有关闭。centos6 关闭防火墙命令:

关闭命令:  service iptables stop 
永久关闭防火墙:chkconfig iptables off
查看防火墙状态:service iptables status

  

  默认用户名和密码都是 guest。我们可以用 guest 登录:

  

RabbitMQ详解(一)------简介与安装的更多相关文章

  1. RabbitMQ详解(一)------简介与安装(Docker)

    RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...

  2. .Net使用RabbitMQ详解 转载http://www.cnblogs.com/knowledgesea/p/5296008.html

    .Net使用RabbitMQ详解   序言 这里原来有一句话,触犯啦天条,被阉割!!!! 首先不去讨论我的日志组件怎么样.因为有些日志需要走网络,有的又不需要走网路,也是有性能与业务场景的多般变化在其 ...

  3. Spring Boot(八):RabbitMQ详解

    Spring Boot(八):RabbitMQ详解 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多 ...

  4. 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING

    <Android NFC 开发实战详解>简介+源码+样章+勘误ING SkySeraph Mar. 14th  2014 Email:skyseraph00@163.com 更多精彩请直接 ...

  5. Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari

    一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...

  6. 执行对象Statement、PreparedStatement和CallableStatement详解 JDBC简介(五)

    执行对象是SQL的执行者,SQL是“安排好的任务”,执行对象就是“实际工作的人”. 执行对象有三种: Statement.PreparedStatement和CallableStatement,他们都 ...

  7. spring-boot(五) RabbitMQ详解 定时任务

    学习文章来自:springboot(八):RabbitMQ详解 springboot(九):定时任务 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分 ...

  8. RabbitMQ详解(三)------RabbitMQ的五种模式

    RabbitMQ详解(三)------RabbitMQ的五种模式 1.简单队列(模式) 上一篇文章末尾的实例给出的代码就是简单模式. 一个生产者对应一个消费者!!! pom.xml ​ 必须导入Rab ...

  9. 详解npm的模块安装机制

    详解npm的模块安装机制 依赖树表面的逻辑结构与依赖树真实的物理结构 依赖树表面的逻辑结构与依赖树真实的物理结构并不一定相同! 这里要先提到两个命令:tree -d(linux)和npm ls(npm ...

  10. RocketMQ详解(二)安装使用详解

    专题目录 RocketMQ详解(一)原理概览 RocketMQ详解(二)安装使用详解 RocketMQ详解(三)启动运行原理 RocketMQ详解(四)核心设计原理 RocketMQ详解(五)总结提高 ...

随机推荐

  1. NDK时间测量

    在NDK中测量时间,有四种方法. LINUX系统方法 gettimeofday 以秒和微秒的形式返回自从Epoch(1970-01-01 00:00:00 +0000 (UTC))时间以来,系统已经经 ...

  2. python itchat 爬取微信好友信息

    原文链接:https://mp.weixin.qq.com/s/4EXgR4GkriTnAzVxluJxmg 「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚 ...

  3. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

  4. CSS杂谈(2)

    opacity 属性设置元素的不透明级别.   语法 opacity: value|inherit; 值 描述   value 规定不透明度.从 0.0 (完全透明)到 1.0(完全不透明).   i ...

  5. Sql Server 按格式输出日期

    SELECT dbo.fn_Data(getdate(),'yyyymmdd') CREATE FUNCTION [dbo].[fn_Data] (@date as datetime, @format ...

  6. shell 函数用法

    近期在学习shell编程方面的知识,写的不怎么好,请大家多多指点,下面给大家分享一下shell函数的用法. 我们为什么要用shell函数? 简单的说,函数的作用就是把程序多次调用相同的代码部分定义成一 ...

  7. C# -- 二分法查找

    二分法查找:适用于已经排序好的数组 1.二分法查找(入门案例) static void Main(string[] args) { , , , , , , , , , , , , , , , , , ...

  8. mysql 数据备份与数据导入到出

    一.数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如Windows. #2. 逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适用于中小型数 ...

  9. Python 简易版选课系统

    一.创建学生类 # # 创建学生类 import random class Student: def __init__(self,num,name,address,course_lst=None): ...

  10. Announcing the Updated NGINX and NGINX Plus Plug‑In for New Relic (Version 2)

    In March, 2013 we released the first version of the “nginx web server” plug‑in for New Relic monitor ...