您的位置:首页 > 运维架构 > Linux

centos+RabbitMQ安装详解

2016-10-09 16:22 453 查看
   说实话,这东西第一次做,费了好多时间,做个笔记,防止遗忘。
百度找了一大堆的安装方法,都有欠缺,东拼西凑算了完成了,RabbitMQ管理界面也可以访问了。
具体步骤如下:
centos的安装:
      本测试是在Oracle VM VirtualBox中安装的centos,因已经有.box文件了,所以安装就简单了(以下是我自己的安装路径):
      将.box文件copy到目标目录,运行cmd后找到将要安装的目录: D:\jingxiang\centos后运行:vagrant box add centos2016 centos-7.0-x86_64.box
      然后在运行:vagrant init centos2016提示已有Vagrantfile文件,最后执行:vagrant up
      切记:在最后执行up的时候,要去改Vagrantfile文件中的ip,当然默认即可。

1、RabbitMQ的最新版本:3.6.5,http://www.rabbitmq.com/install-generic-unix.html
 下载之前我是在/usr/local目录下新建文件夹:software,将下载的RabbitMQ文件和Erlang文件放入其中。
 我下载是的rabbitmq-server-generic-unix-3.6.5.tar.xz版,注意xz是使用LZMA压缩算法是无损数据压缩
 文件格式,是绝大多数linux默认自带的一个压缩工具,其解压方式为:xz -d 要解压的文件名,解压出来
 是一个tar文件,我们就可以用tar文件解压的方式:tar -xvf 解压的文件名。
 接下里就是安装了,如果是手动下载的xz文件,需要当前vm要有rz命令,具体操作如下:
 # cd /tmp
 # wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz  # tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
 # ./configure && make && make install
 如上只是默认安装到/usr/local/bin/目录下,下面创建软连接,并命名为rz/sz:
 # cd /usr/bin
 # ln -s /usr/local/bin/lrz rz
 # ln -s /usr/local/bin/lsz sz
 安装:



 为了便于管理我们把它移动到/usr/local/bin下:
 # mv rabbitmq_server-3.6.5/ /usr/local/bin
 到此RabbitMQ基本安装完毕,自3.6版本以来无需其他编译和安装。
2、安装Erlang,因RabbitMQ是基于Erlang开发。下载地址:http://www.erlang.org/downloads找最新版本即可。
 


 目前最新版本是otp_src_19.1.tar.gz。我们用tar -zxvf解压即可。解压后进入解压文件夹,然后执行:
 ./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 install 命令,运行完执行,在/usr/local/bin下面有erlang文件夹。

我们先把RabbitMQ和Erlang的可执行文件的路劲加入path中,以便任何地方使用。这里我们直接改:

# vi /etc/profile

加入:
export
 
PATH=$PATH:
/usr/local/bin/erlang/bin
:
/usr/local/bin/rabbitmq_server-3
.6.5
/sbin

配置完之后运行:

# source /etc/profile 让配置起作用,然后输入:

# erl 如果出现以下画面说明已经成功:


 输入halt(). 退出。
 最后输入:rabbitmq-server,出现以下画面说明RabbitMQ启动成功。
 


 当然如果要用web管理界面的话,还需要在启动之前运行:
 
rabbitmq-plugins 
enable
 
rabbitmq_management

  默认用户名和密码都是guest

  

  这里会有好多问题,请注意:

  请看下文:centos 安装iptables防火墙

解决远程访问配置:
默认网页是不允许访问RabbitMQ的,需要添加一个用户并修改权限:
添加用户:# rabbitmqctl add_user admin admin
添加权限:# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
  修改用户角色:# rabbitmqctl set_user_tags hxb administrator

  然后直接用admin登录,这样就可以访问了。

rabbitmq常用命令
  add_user        <UserName> <Password>
  delete_user    <UserName>
  change_password <UserName> <NewPassword>
  list_users
  add_vhost    <VHostPath>
  delete_vhost <VHostPath>
  list_vhostsset_permissions  [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
  clear_permissions [-p <VHostPath>] <UserName>
  list_permissions  [-p <VHostPath>]
  list_user_permissions <UserName>
  list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]
  list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
  list_bindings  [-p <VHostPath>]
  list_connections [<ConnectionInfoItem> ...]








                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: