一、安装

1、安装Erlang

1)系统编译环境(这里采用linux/unix 环境)

① 安装环境

虚拟机:VMware® Workstation 10.0.1 build

Linux系统:CentOS6.5

rabbitMQ官网下载:http://www.rabbitmq.com/download.html

Erlang的官网下载: http://www.erlang.org/download.html

2)Rabbitmq所需要的附属包(erlang、simplejson)安装:

 ① 安装erlang

RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。

从Erlang的官网http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 otp_src_R14B03.tar.gz 。

然后:

  • 然后解压下载的gz包  tar zxcf  *.tar.gz
  • cd 进入解压出来的文件夹
  • 执行./configure --prefix=/opt/erlang  就会开始编译安装  会编译到 /opt/erlang 下 然后执行
  • make 和 make install
  • 编译完成以后,进入/opt/erlang,输入erl测试erlang是否安装成功。
  • 修改/etc/profile文件,增加下面的环境变量:
  • #set erlang environment
  • export PATH=$PATH:/opt/erlang/bin
  • source profile使得文件生效
  • 肯能会出现找不到包的情况,就直接yum install 吧!

安装完Erlang,那么开始装RabbitMQ-Server ,主要参考官方文档:http://www.rabbitmq.com/build-server.html  ;

② 安装simplejson(如果需要安装Python版本的话)

需要安装一个比较新的Python版本。安装略,比较简单。

需要安装simplejson。从此处下载最新的版本:http://pypi.python.org/pypi/simplejson#downloads 。我下载的版本是 simplejson-2.2.1.tar.gz

2、安装RabbitMQ

   然后安装RabbitMQ Server。从此处下载源代码版本的RabbitMQ:http://www.rabbitmq.com/server.html。我下载的版本是 rabbitmq-server-generic-unix-2.7.1.tar.gz
  1. rabbitmq的安装有很多版本,我们使用Generic Unix版本。
  2. cd /
  3. wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-generic-unix-2.7.1.tar.gz下载rabbitmq
  4. tar zxvf rabbitmq-server-generic-unix-2.7.1.tar.gz -C /opt解压到指定的文件夹下
  5. cd /opt,建立软链接ln -s rabbitmq-server-generic-unix rabbitmq
  6. cd rabbitmq/sbin,./rabbitmq-server -detached可以实现后台启动
  7. 修改/etc/profile,添加环境变量
  8. #set rabbitmq environment
  9. export PATH=$PATH:/opt/rabbitmq/sbin
  10. source profile使得文件生效
  11. cd /opt/rabbitmq/sbin,./rabbitmqctl stop关闭rabbitmq
  12. 这样就完成了安装

这样就安装成功。

3、试运行

  1. 启用管理方式(用网页方式管理MQ)cd /opt/rabbitmq/sbin/
  2. 执行./rabbitmq-plugin enable rabbitmq-management
  3. 然后访问http://localhost:55672

二、配置

主要参考官方文档:http://www.rabbitmq.com/configure.html

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:

  • 一个是环境变量的配置文件 rabbitmq-env.conf ;
  • 一个是配置信息的配置文件 rabbitmq.config;

注意,这两个文件默认是没有的,如果需要必须自己创建。

rabbitmq-env.conf
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。

  • 文件的内容包括了RabbitMQ的一些环境变量,常用的有:
  • #RABBITMQ_NODE_PORT=                                    //端口号
  • #HOSTNAME=
  • RABBITMQ_NODENAME=mq
  • RABBITMQ_CONFIG_FILE=                                     //配置文件的路径
  • RABBITMQ_MNESIA_BASE=/rabbitmq/data         //需要使用的MNESIA数据库的路径
  • RABBITMQ_LOG_BASE=/rabbitmq/log                  //log的路径
  • RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径

具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables

rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

三、监控

主要参考官方文档:http://www.rabbitmq.com/management.html

RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。

首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE

将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:

  • mochiweb
  • webmachine
  • rabbitmq_mochiweb
  • amqp_client
  • rabbitmq_management_agent
  • rabbitmq_management

下载路径位于:http://www.rabbitmq.com/plugins.html#rabbitmq_management

重新启动RabbitMQ,输入http://server-name:55672/mgmt/ 就能够进入到监控页面。默认的用户名和密码是: guest 和 guest。

柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装、配置与监控的更多相关文章

  1. 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)

    二.Work Queues(using the Java Client) 走起   在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...

  2. 柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航)

    柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航) 二.起航 本章节,柯南君将从几个层面,用官网例子讲解一下RabbitMQ的实操经典程序案例,让大家重 ...

  3. 看大数据时代下的IT架构(1)业界消息队列对比

    一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...

  4. 柯南君:看大数据时代下的IT架构(2)消息队列之RabbitMQ-基础概念详细介绍

    一.基础概念详细介绍 1.引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松 ...

  5. 柯南君:看大数据时代下的IT架构(9)消息队列之RabbitMQ--案例(RPC起航)

    二.Remote procedure call (RPC)(using the Java client) 三.Client interface(客户端接口) 为了展示一个RPC服务是如何使用的,我们将 ...

  6. 柯南君:看大数据时代下的IT架构(6)消息队列之RabbitMQ--案例(Publish/Subscribe起航)

    二.Publish/Subscribe(发布/订阅)(using the Java Client) 为了说明这个模式,我们将构建一个简单的日志系统.它将包括两个项目: 第一个将发出日志消息 第二个将接 ...

  7. 柯南君:看大数据时代下的IT架构(8)消息队列之RabbitMQ--案例(topic起航)

    二.Topic(主题) (using the Java client) 上一篇文章中,我们进步改良了我们的日志系统.我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fano ...

  8. 柯南君:看大数据时代下的IT架构(7)消息队列之RabbitMQ--案例(routing 起航)

    二.Routing(路由) (using the Java client) 在前面的学习中,构建了一个简单的日志记录系统,能够广播所有的日志给多个接收者,在该部分学习中,将添加一个新的特点,就是可以只 ...

  9. 大数据时代下EDM邮件营销的变革

    根据研究,今年的EDM邮件营销的邮件发送量比去年增长了63%,许多方法可以为你收集用户数据,这些数据可以帮助企业改善自己在营销中的精准度,相关性和执行力. 最近的一项研究表明,中国800强企业当中超过 ...

随机推荐

  1. DOS 根据用户输入执行指令判断IF

    @echo off set /p op="输入指令:" if "%op%" == "1" ( echo 你输入了指令1 ) if " ...

  2. requireJS到底是什么?

    1.requireJS是让js代码模块化:而且js之间的依赖关系,不再依靠script标签的顺序,可以加载不阻塞 2.requireJS加载js的方法:<script data-main=&qu ...

  3. php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)

    /** * 表单校验函数库 */ /** * 判断email格式是否正确 * @param $email */ function is_email($email) { return strlen($e ...

  4. 在MySQL数据库建立多对多的数据表关系

    在数据库中,如果两个表的之间的关系为,多对多的关系,如:“学生表和课程表”,一个学生的可以选多门课,一门课也可以被多门学习选;根据数据库的设计原则,应当形成第三张关联表 步骤1:创建三张数据表Stud ...

  5. iOS7中group类型tableview的section间距设置

    1.如果是首行,检查是否设置了headerView. 2.其他设置tableView . sectionFooterHeight  = 1.0.  这个距离的计算是header的高度加上footer的 ...

  6. Linux man 后面的数字含义及作用

    Linux的man很强大,该手册分成很多section,使用man时可以指定不同的section来浏览,各个section意义如下: 1 Executable programs or shell co ...

  7. network-manager与interfaces冲突

    网络配置的两种方式 Ubuntu下修改网络配置有两种方式:图形界面方式(network-manager)和修改/etc/network/interfaces 但是如果两种方式的网络设置不同,就会产生冲 ...

  8. MFC 双缓冲加载背景

    首先定义DCmemDc和Bitmap CDC DCmemDc: CBitmap memBitmap; CBitmap *oldBitmap; 然后创建一个适应当前内存的DCmemDc CDC * dc ...

  9. Python学习笔记7-把函数当参数传递、指定可变参数

    把函数当参数传递 # 函数参数传递 # 面向对象编程就是把对象传来传去 # 面向函数编程就是把函数传来传去 def mytest(num): return num * 2 # # 不光可以传递变量,还 ...

  10. c++中使用c语言函数

    在c++中使用c语言的函数时候,该函数必须在c文件中声明extern "C"才可以使用 如:extern "C" c_function_name(int, in ...