RabbitMQ3.6.1的安装方法跟以前的版本有点不一样,我在网上找了很多资料,基本都是3.1左右的版本,而且安装过程很繁琐,所以我花了一下午 的时间研究如何实现最简安装。为了让大家少走弯路,就把安装过程记录了下来,也便于以后如果忘记了好查阅。3.6最大的特点就是不用再运行make命令 了,而是直接解压就可以用。下面是具体步骤:

1. 首先下载RabbitMQ,地址为:http://www.rabbitmq.com/install-generic-unix.html。这里我们下 载的是generic unix的版本,下载的文件名为:rabbitmq-server-generic-unix-3.6.1.tar.xz。xz是一个使用LZMA压缩算 法的无损数据压缩文件格式,是绝大数linux默认就带的一个压缩工具。其解压方式为xz -d {要解压的文件名},解压出来是一个tar文件,我就可以用tar文件的解压方法tar -xvf {解压出来的tar文件名}。


tar解压出来是一个叫rabbitmq_server-3.6.1的文件夹,为了便于管理我们把它移动到/usr/local/bin下。


到此为止RabbitMQ的基本安装就完成了,这个版本是不需要其他额外的编译和安装的。

2. 安装最新版的Erlang,因为RabbitMQ是基于Erlang开发的。记住:一定要用最新的版本,不然启动RabbitMQ时可能会出错,这个问题我开始弄了几个小时才发现是Erlang的版本太低的原因。

去Erlang官网下载最新的Source File文件,地址是:http://www.erlang.org/downloads

下载下来的文件名为:otp_src_18.2.1.tar.gz,我们用tar
-zxvf解压就可以了。解压和生成otp_src_18.2.1文件夹,进入该文件夹,然后用./configure
--prefix=/usr/local/bin/erlang
--without-javac来配置,该命令可能会出现很多错误,基本都缺少相关的依赖,下面会列出具体的错误描述和解决方法。

错误1:

 
Ignoring the --cache-file argument since it can cause the system to be erroneously configured
Disabling caching
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

原因:缺少GCC编译器。解决方法:

 
yum install -y gcc-c++

错误2:

checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltermlib... no
configure: error: No curses library functions found
configure: error: /bin/sh '/software/otp_src_18.2.1/erts/configure' failed for erts

原因:未安装curses。解决方法:

 
yum -y install ncurses-devel

错误3:

crypto         : No usable OpenSSL found
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
ssh            : No usable OpenSSL found
ssl            : No usable OpenSSL found

原因:缺少OpenSSL。解决方法:

 
yum install openssl-devel

错误4:

jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed

原因:缺少ODBC  library。解决方法:

 
yum install unixODBC-devel

最后运行make和make
insall命令,运行完之后,在/usr/local/bin下面就有erlang文件夹了。我们先把RabbitMQ和Erlang的可执行文件的路
径加入path中,以便在任何地方都可以执行。这里我们直接改etc/profile文件,以便对所有用户起作用。在profile适当的位置加入:

 
export PATH=$PATH:/usr/local/bin/erlang/bin:/usr/local/bin/rabbitmq_server-3.6.1/sbin

配完后输入source /etc/profile让配置起作用,然后输入erl,如果出现以下画面则说明安装成功。

最后输入rabbitmq-server,出现以下画面就说明RabbitMQ启动成功。

./rabbitmq-server -detached可以实现后台启动

rabbitmq配置

一般情况下,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    //插件的路径
rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

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

如果要使用WEB管理界面,运行以下命令:

 
rabbitmq-plugins enable rabbitmq_management

WEB管理界面的默认用户名和密码都是guest,浏览器访问地址:http://host:15672,会要求输入用户名和密码,用默认的guest/guest即可(guest/guest用户只能从localhost地址登录,如果要配置远程登录,必须另创建用户),

添加新用户的方法:

$  cd /usr/lib/rabbitmq/bin/
#用户名与密码
$ sudo rabbitmqctl add_user webadmin 123456
#用户设置为administrator才能远程访问
$ sudo rabbitmqctl set_user_tags webadmin administrator         
$ sudo rabbitmqctl set_permissions -p / webadmin ".*" ".*" ".*"

确认后会出现下面界面:

最后一个问题:我们有可能在启动RabbitMQ时遇到{ERROR: epmd error for host "****"}错误。这是因为你的主机名和ip不匹配,必须把当前的hostname放入/etc/hosts文件中。当RabbitMQ用上面的默认方 法安装后,使用的地址是127.0.0.1,把当前的hostname追加到/etc/hosts文件中127.0.0.1后面就可以了。

总结:RabbitMQ3.6的版本已经不需要以前那么复杂的安装过程,只用安装好Erlang就可以了。像Python等依赖软件只要是比较新的Linux发行版本基本都已经集成了。

CentOS上安装RabbitMQ3.6.X的更多相关文章

  1. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  2. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  3. 在CentOS上安装rabbitmq-server

    ***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...

  4. CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH

    CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...

  5. 如何在centos上安装epel源

    一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...

  6. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  7. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

  8. CentOS上安装Node.js

    CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区  作者:maskdfe [字体:大 中 小]     CentOS上安装Node.js(想在Linux上学习No ...

  9. Linux系统入门学习:在CentOS上安装phpMyAdmin

    问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...

随机推荐

  1. C#在后台运行操作:BackgroundWorker的用法

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  2. js 随机星星 document.createElement(); setAttribute()

    js 随机星星 document.createElement(); setAttribute() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  3. 7-13IN和NOT IN 子查询

    IN后面的子查询可以返回多条记录. SELECT ...FROM  WHERE 查询表达式 IN(子查询) 常用IN替换等于(=)的比较子查询. 用法: (1)使用 :IN关键字可以使父查询匹配子查询 ...

  4. WCF消息拦截,利用消息拦截做身份验证服务

    本文参考  http://blog.csdn.net/tcjiaan/article/details/8274493  博客而写 添加对信息处理的类 /// <summary> /// 消 ...

  5. [Linux] 取得服务器版本

    1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如: [root@3.5.5Biz-46 ~]# lsb_release -a LSB Version: 1.3 Dis ...

  6. 求CRC校验和的低位和高位的两种方式

    方式1 unsigned ; // 校验和 ]; memcpy(tstCRCChecksum,&shrCRCCheckSum,); // shrCRCCheckSum:216D LOGI(]) ...

  7. HDU 2242 考研路茫茫——空调教室 无向图缩环+树形DP

    考研路茫茫——空调教室 Problem Description 众所周知,HDU的考研教室是没有空调的,于是就苦了不少不去图书馆的考研仔们.Lele也是其中一个.而某教室旁边又摆着两个未装上的空调,更 ...

  8. loadrunner中切割字符串

    下面函数的作用: http://blog.csdn.net/hgj125073/article/details/8447605 通过-与: 字符切割字符串,即-与:字符已经被\0 字符取代 char  ...

  9. linux read简单用法

    #!/bin/bash #read chars into var read -n var echo $var #read chars without showing it read -s var ec ...

  10. MapReduce应用案例--简单排序

    1. 设计思路 在MapReduce过程中自带有排序,可以使用这个默认的排序达到我们的目的. MapReduce 是按照key值进行排序的,我们在Map过程中将读入的数据转化成IntWritable类 ...