CentOS7下RabbitMQ服务安装配置

来源:互联网 发布:淘宝轮播图女装素材 编辑:程序博客网 时间:2024/05/19 22:50

一:环境安装

  这些开源性的产品没多少是建议用户部署在windows上的,不过rabbitmq除外,为了更加贴近实际的应用场景,我们这里还是部署在centos7上。

 

1. 安装erlang

    刚才也说了,rabbitmq只不过是erlang开发的一个成品而已,所以我们首先一定要安装好erlang环境才可以。。。http://www.erlang.org/downloads

 

当然你也可以wget一下这个下载链接也没毛病。。。

wget http://10.65.255.231/IXCb7261d0152b8aa2ad1f25a55bf0e761f/download/otp_src_19.1.tar.gz

 

然后解压一下,修改一下文件夹叫做erlang,如图:

 

 接下来我们要安装各种erlang需要的依赖库,包括gcc, kernel-devel,ncurses-devel等等,如下:

[root@localhost ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

 

稍等片刻之后,我们就安装好了,接下来我们深入到erlang文件夹下,进行configure安装环境配置,--prefix=/usr/erlang 是说明将当前的安装放在

usr/erlang文件夹下。

[root@localhost erlang]# ./configure --prefix=/usr/erlang --without-javac 

 

这里一定要看清楚了,我开启的Terminal已经是在erlang文件夹下面的哦。

复制代码
*******************************************************************************************  APPLICATIONS DISABLED  *******************************************************************************************jinterface     : Java compiler disabled by user****************************************************************************************************************************************************************  APPLICATIONS INFORMATION  ****************************************************************************************wx             : wxWidgets not found, wx will NOT be usable****************************************************************************************************************************************************************  DOCUMENTATION INFORMATION  ***************************************************************************************documentation  :                  fop is missing.                 Using fakefop to generate placeholder PDF files.*********************************************************************[root@localhost erlang]# 
复制代码

 

ok,如果你安装顺利的话,就是上面这样的一个界面,这就说明安装通过了,接下来我们可以执行make命令进行编译。

[root@localhost erlang]# make

 

稍等片刻后,如果安装顺利的话,我们就可以执行make install 即可。

[root@localhost erlang]# make install

 

然后就可以看到,在/usr 文件夹下面就有一个编译好的erlang文件夹,不信你看。

 

到现在为止,erlang就已经安装好了,是不是有一种冲动加上好吊的样子呢??? 现在就拭目以待的启动吧~~~

[root@localhost bin]# ./erl

 

 

二:安装Rabbitmq环境

     rabbitmq安装起来就非常简单了,因为在官网上不光提供了source模式的源代码,也提供了binary的二进制文件,这里为了方便,我们就下载

binary吧,网址是:http://www.rabbitmq.com/download.html

 

 接下来我们把这个binary下载下来后,也放到/usr 文件夹下面,可以看到这个rabbitmq-server 就是rabbitmq的启动程序,如下图:

 

然后你可以兴致勃勃的启动,恭喜你,遇到erl command not found错误。。。

[root@localhost sbin]# ./rabbitmq-server./rabbitmq-server: line 67: erl: command not found[root@localhost sbin]# 

那这个问题该怎么解决呢??? 其实很简单,我只需要配置下erlang的环境即可,为了方便,我也可以将rabbimq的环境变量一起配置了。。。

当然centos中环境变量文件就是 /etc/profile,不信你看哦。。。

#set erlang environmentexport PATH=$PATH:/usr/erlang/bin#set rabbitmq environmentexport PATH=$PATH:/usr/rabbitmq/sbin

 

然后在terminal中执行以下命令 source  /etc/profile  让配置在当前ternimal中生效,生效之后,就可以在terminal上执行erl就可以啦。。。

复制代码
[root@localhost sbin]# ./rabbitmq-server./rabbitmq-server: line 67: erl: command not found[root@localhost sbin]# source /etc/profile[root@localhost sbin]# erlErlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]Eshell V8.1  (abort with ^G)1> 
复制代码

 

同样现在也可以在terminal上直接执行rabbitmq-server 。。。 不过你一定要记住,这个source只在当前的terminal上有效,除非重启centos全局生效。

复制代码
[root@localhost Desktop]# source /etc/profile[root@localhost Desktop]# rabbitmq-server              RabbitMQ 3.6.5. Copyright (C) 2007-2016 Pivotal Software, Inc.  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/  ##  ##  ##########  Logs: /usr/rabbitmq/var/log/rabbitmq/rabbit@localhost.log  ######  ##        /usr/rabbitmq/var/log/rabbitmq/rabbit@localhost-sasl.log  ##########              Starting broker... completed with 0 plugins.
复制代码

 

三:开启web监控

    rabbitmq最牛逼的一个地方就是自带一个高配的监控,所以必须将其启动,你只需要启动插件 rabbitmq_management 就可以了。。。。

[root@localhost Desktop]# rabbitmq-plugins enable rabbitmq_management

然后键入127.0.0.1:15672 就可以看到啦。。使用guest, guest 登陆,是不是好吊的样子撒!

 

远程访问配置

由于guest这个用户,只能在本地访问,所以我们要新增一个用户并赋予权限:

添加用户:rabbitmqctl add_user admin admin

添加权限:rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

修改用户角色rabbitmqctl set_user_tags admin administrator

然后就可以远程访问了,然后可直接配置用户权限等信息。

到此,就可以通过http://ip:15672 使用admin admin 进行登陆了

上面是本人第二次安装rabbitmq参考的一篇博客http://www.cnblogs.com/huangxincheng/p/6006569.html,

直接用上面这个方法安装即可,


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

服务器操作系统是CentOS7。具体步骤如下:

  安装依赖文件:

  yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto

     yum install libtool
     yum install libtool-ltdl-devel

此处可能还依赖其他的

  1.Erlang安装配置

  下载安装包,地址http://www.erlang.org/downloads,我选择的是otp_src_19.2.tar.gz

然后解压文件:

[root@iZ25e3bt9a6Z rabbitmq]# tar -xzvf otp_src_19.2.tar.gz
[root@iZ25e3bt9a6Z rabbitmq]# cdotp_src_19.2.tar.gz/

  配置安装路径编译代码:

[root@iZ25e3bt9a6Z otp_src_18.3]# ./configure --prefix=/opt/erlang

  执行编译结果:

[root@iZ25e3bt9a6Z otp_src_18.3]# make && make install

  完成后进入/opt/erlang查看执行结果

[root@iZ25e3bt9a6Z rabbitmq]# cd /opt/erlang/
[root@iZ25e3bt9a6Z erlang]# erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1>

  当出现以上信息时表示安装完成。然后输入’halt().’退出即可。

  然后在配置Erlang环境变量,vi /etc/profile文件,增加下面的环境变量:

#set erlang environment
export PATH=$PATH:/opt/erlang/bin


  source  /etc/profile使得文件生效

  在安装Erlang过程中,可能会遇到以下问题,一般都是因为系统中缺少相应的包引起的,缺少什么包直接yum安装即可。

  2.下载安装RabbitMq

[root@iZ25e3bt9a6Z rabbitmq]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar

rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc


解压文件

[root@iZ25e3bt9a6Z rabbitmq]# xz -d rabbitmq-server-generic-unix-3.6.6.tar.xz
[root@iZ25e3bt9a6Z rabbitmq]# tar -xvf rabbitmq-server-generic-unix-3.6.6.tar  -C /opt

解压后进入文件夹/opt发现多了个文件夹rabbitmq-server-generic-unix-3.6.1 ,重命名为rabbitmq以便记忆。

  然后在配置rabbitmq环境变量,vi /etc/profile文件,增加下面的环境变量:

#set rabbitmq environment
export PATH=$PATH:/opt/rabbitmq/sbin

  source  /etc/profile使得文件生效

  3.RabbitMQ服务启动关闭

  以上就已经完成了RabbitMq的安装,怎么启动服务呢?

  启动服务:

[root@iZ25e3bt9a6Z rabbitmq]# cd sbin/
[root@iZ25e3bt9a6Z sbin]# ./rabbitmq-server -detached &

查看服务状态:

[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl status
Status of node rabbit@iZ25e3bt9a6Z ...
[{pid,11849},
 {running_applications,
    [{rabbitmq_management,"RabbitMQ Management Console","3.6.1"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.1"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.1"},
      {webmachine,"webmachine","1.10.3"},
      {amqp_client,"RabbitMQ AMQP Client","3.6.1"},
      {mochiweb,"MochiMedia Web Server","2.13.0"},
      {syntax_tools,"Syntax tools","1.7"},
      {ssl,"Erlang/OTP SSL application","7.3"},
      {public_key,"Public key infrastructure","1.1.1"},
      {asn1,"The Erlang ASN1 compiler version 4.0.2","4.0.2"},
      {crypto,"CRYPTO","3.6.3"},
      {compiler,"ERTS  CXC 138 10","6.0.3"},
      {inets,"INETS  CXC 138 49","6.2"},
      {rabbit,"RabbitMQ","3.6.1"},
      {mnesia,"MNESIA  CXC 138 12","4.13.3"},
      {rabbit_common,[],"3.6.1"},
      {xmerl,"XML parser","1.3.10"},
      {os_mon,"CPO  CXC 138 46","2.4"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.2.1"},
      {sasl,"SASL  CXC 138 11","2.7"},
      {stdlib,"ERTS  CXC 138 10","2.8"},
      {kernel,"ERTS  CXC 138 10","4.2"}]},
 {os,{unix,linux}},
 {erlang_version,
    "Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:64] [hipe] [kernel-poll:true]\n"},
 {memory,
    [{total,64111264},
      {connection_readers,0},
      {connection_writers,0},
      {connection_channels,0},
      {connection_other,2808},
      {queue_procs,2808},
      {queue_slave_procs,0},
      {plugins,367288},
      {other_proc,19041296},
      {mnesia,61720},
      {mgmt_db,158696},
      {msg_index,47120},
      {other_ets,1372440},
      {binary,128216},
      {code,27368230},
      {atom,992409},
      {other_system,14568233}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,6556241100},
 {disk_free_limit,50000000},
 {disk_free,37431123968},
 {file_descriptors,
    [{total_limit,65435},
      {total_used,2},
      {sockets_limit,58889},
      {sockets_used,0}]},
 {processes,[{limit,1048576},{used,204}]},
 {run_queue,0},
 {uptime,412681},
 {kernel,{net_ticktime,60}}]

  关闭服务:

[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl stop
Stopping and halting node rabbit@iZ25e3bt9a6Z ...

然后启用插件:

./rabbitmq-plugins enable rabbitmq_management

  配置linux 端口 15672 网页管理  5672 AMQP端口
  然后访问http://localhost:15672即可 

  默认用户guest 密码guest

  5. 远程访问配置

由于guest这个用户,只能在本地访问,所以我们要新增一个用户并赋予权限:

添加用户:rabbitmqctl add_user admin admin

添加权限:rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

修改用户角色rabbitmqctl set_user_tags admin administrator

然后就可以远程访问了,然后可直接配置用户权限等信息。

到此,就可以通过http://ip:15672 使用admin admin 进行登陆了


6. 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> ...]



同时可以参考http://blog.csdn.net/zhu_tianwei/article/details/40832185

0 0