一、安装

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. asp.net自动打卡、签到程序

    目前公司上下班签到是上局域网的一个系统去点一下,由于打卡比较简单,所以有些快迟到的同事会找已经到公司的人帮忙代打卡.”以其它身份运行程序“来打开IE,去帮人打下,有时多几个人,也要这样操作,我感觉挺麻 ...

  2. struts2中的方法过滤拦截器

    方法过滤拦截器是只过滤指定的方法,如果使用针对action 的普通的过滤器则会过滤该action内部 所有方法.如果在一个action中同时有多个作为业务逻辑控制的方法存在 的话则会过滤所有的业务逻辑 ...

  3. 用include()和ob_get_contents( )方法 生成静态文件

    1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...

  4. [问题解决] 启动mongod 时,出现addr already in use错误

    错误: 启动mongod root@wangyuyu-Vostro-:/usr/bin# ./mongod 错误提示: Sat Aug :: [initandlisten] ERROR: listen ...

  5. Delphi资源文件(全面分析之位图、光标、图标、AVI、JPEG、Wave)

    几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码.下面我们就详细介绍资 源文件在Delphi5中建立和使用方法.  1.把资源放到Exe文件的优点  ...

  6. POJ——多项式的加法

    1:多项式加法 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  5000kB 描述 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起.首先 ...

  7. objective-c 可变参数

    容易发现Cocoa Foundation 中提供了一些可变参数的方法,如: NSLog(NSString *format, ...) 在实际的编程实践中,我们也需要自己实现可变参数的方法.在Objc中 ...

  8. aix6.1 openssh安装

    环境: IBM AIX6.1 1.下载(可以直接从附件中下载): openssl IBM官方网站下载:https://www14.software.ibm.com/webapp/iwm/web/reg ...

  9. U-boot中实现Yaffs2+HwEcc

    经过老手的指点,要实现Yaffs2+HwEcc,重点在于chip->ops.mode由MTD_OOB_RAW到MTD_OOB_AUTO.经过几天的筹备,今天要对其下手了.为了真实展现分析移植过程 ...

  10. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...