Linux CentOS 下安装rabbitMq
2017-02-13 16:20
274 查看
一:环境安装
这些开源性的产品没多少是建议用户部署在windows上的,不过rabbitmq除外,为了更加贴近实际的应用场景,我们这里还是部署在centos7上。
1. 安装erlang
刚才也说了,rabbitmq只不过是erlang开发的一个成品而已,所以我们首先一定要安装好erlang环境才可以。。。http://www.erlang.org/downloads
![](http://images2015.cnblogs.com/blog/214741/201610/214741-20161027221052406-481417976.png)
当然你也可以wget一下这个下载链接也没毛病。。。
这些开源性的产品没多少是建议用户部署在windows上的,不过rabbitmq除外,为了更加贴近实际的应用场景,我们这里还是部署在centos7上。
1. 安装erlang
刚才也说了,rabbitmq只不过是erlang开发的一个成品而已,所以我们首先一定要安装好erlang环境才可以。。。http://www.erlang.org/downloads
![](http://images2015.cnblogs.com/blog/214741/201610/214741-20161027221052406-481417976.png)
当然你也可以wget一下这个下载链接也没毛病。。。
wget http://10.65.255.231/IXCb7261d0152b8aa2ad1f25a55bf0e761f/download/otp_src_19.1.tar.gz[/code]
然后解压一下,修改一下文件夹叫做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]#
这里有可能有权限的问题,chmod 777 要赋权限的文件 即可
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
坑1:这里解压的时候注意:一般解压为tar tar -xzvf 要解压的文件 但是这里因为是以xz 结尾的,所以解压的命令要用 tar -xvf 要解压的文件
接下来我们把这个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 environment export PATH=$PATH:/usr/erlang/bin #set rabbitmq environment export 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]# erl
Erlang/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最牛逼的一个地方就是自带一个高配的监控,所以必须将其启动,你只需要启动插件 (坑2:前提是已经启动了rabbitmq也就是你已经执行了rabbit_server 否则会出现 Applying plugin configuration to rabbit@localhost... failed. 这样的错误)rabbitmq_management 就可以了。。。。[root@localhost Desktop]# rabbitmq-plugins enable rabbitmq_management
然后键入127.0.0.1:15672 就可以看到啦。。使用guest, guest 登陆,是不是好吊的样子撒!
坑3:这里注意如果你用其他ip登录的话会登录不进去 可能的原因1、linux防火墙没有针对15672的端口没有开放(具体处理解决方案可自行查找)
2、由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。
虽然可以以比较猥琐的方式:将ebin目录下rabbit.app中loopback_users里的<<"guest">>删除,或者在配置文件rabbitmq.config中对该项进行配置,
并重启rabbitmq,可通过任意IP使用guest账号登陆管理控制台,但始终是违背了设计者的初衷,再加上以前对这一块了解也不多,因此有必要总结一下。
四、rabbitmq针对用户的管理
1. 用户管理
用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
相应的命令
(1) 新增一个用户
rabbitmqctl add_user Username Password
(2) 删除一个用户
rabbitmqctl delete_user Username
(3) 修改用户的密码
rabbitmqctl change_password Username Newpassword
(4) 查看当前用户列表
rabbitmqctl list_users
2. 用户角色
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。
设置用户角色的命令为:
rabbitmqctl set_user_tags User Tag
User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
也可以给同一用户设置多个角色,例如
rabbitmqctl set_user_tags hncscwc monitoring policymaker
3. 用户权限
用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。
例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How
permissions work"部分。
相关命令为:
(1) 设置用户权限
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 查看(指定hostpath)所有用户的权限信息
rabbitmqctl list_permissions [-p VHostPath]
(3) 查看指定用户的权限信息
rabbitmqctl list_user_permissions User
(4) 清除用户的权限信息
rabbitmqctl clear_permissions [-p VHostPath] User
相关文章推荐
- linux(centos6.5)安装开发环境jdk,tomcat.idea,git,maven,postgresql,rabbitmq
- 【Linux】Centos6.8安装rabbitmq
- Linux centos 7 快速安装RabbitMQ和简单使用
- 手动安装linux centos rabbitmq
- RabbitMQ在Linux Centos安装步骤
- 【Linux】CentOS 安装rabbitmq
- Linux CentOS 6.5 中安装与配置JDK-7-tomcat-nginx-rabbitmq
- Linux CentOS 6.5 中安装与配置JDK-7-tomcat-nginx-rabbitmq
- Linux-CentOS 6.7 RabbitMQ的安装和配置
- Linux 安装rabbitmq(centos 6.5) 步骤
- [linux]CentOS 7 下安装 RabbitMQ
- Linux基础知识--(03)在Windows 2003下从硬盘安装CentOS 5.3
- CentOS Linux下安装和配置JDK与Tomcat
- linux lvs 的DR 模式CENTOS 4.4 三台linux 的http负载均衡安装步骤
- CentOS release 5.4 (Final) Linux在HP服务器安装
- Windows 下硬盘安装CentOS Linux 5.3
- Linux (CentOS-6.5-i386-bin-DVD)U盘启动安装
- 在CentOS Linux上安装oracle11g之四 其他问题
- 如何安装CENTOS对NTFS分区的支持[LINUX下如何挂载NTFS分区]
- Linux(CentOS 5)下安装Oracle10 客户端