RabbitMQ的安装以及其控制台的一些使用
准备工作
安装依赖环境
在线安装依赖环境:
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
安装Erlang
上传以下几个文件到设置好的目录
erlang-18.3-1.el7.centos.x86_64.rpm
socat-1.7.3.2-5.el7.lux.x86_64.rpm
rabbitmq-server-3.6.5-1.noarch.rpm
# 安装
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
安装rabbitMQ
先安装socat环境
rpm -ivh socat-1.7.3.2-1.1.el7.x86_64.rpm
安装过程中可以出现如下问题
原因分析:
网上资料说这是由于yum安装了旧版本的GPG keys造成的
解决方案:
在rpm 语句后面加上 --force --nodeps 即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps就可以了。 nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载
最后安装rabbitMQ
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
rabbitMQ的一些相关使用
启用rabbitMQ的一些相关命令:
service rabbitmq-server start # 启动服务
service rabbitmq-server stop # 停止服务
service rabbitmq-server restart # 重启服务
开启管理界面及配置
我们平常使用命令行来使用rabbitMQ可能并不友好,我们可以安装界面管理插件
# 开启管理界面
rabbitmq-plugins enable rabbitmq_management
开启管理界面之后,我们需要修改一下默认配置的文件
我们可以通过以下命令来进行操作:
# 修改默认配置信息
vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
# 比如修改密码、配置等等,例如:loopback_users 中的 <<"guest">>,只保留guest
修改后:
重启以下rabbitMQ让配置生效
service rabbitmq-server restart # 重启服务
很重要的一步,我们为了让远程可以访问,可以通过关闭防火墙或者在防火墙中添加该端口,这样就永远可以开放的在外界访问了
我们这使用添加端口的方式:(为什么添加的开放端口号为15672,可以参考下文)
firewall-cmd --add-port=15672/tcp --permanent
然后重新加载一下防火墙就好了
firewall-cmd --reload
然后我们就可以通过端口号去访问,这个地方要注意,默认访问控制台,我们要在rabbitMQ的端口号前面要加个1 才能成功访问
后续我们搭建集群的时候访问端口为25672
如图:
然后我们使用默认的用户名密码登录上去即可
配置虚拟主机及用户
用户角色
RabbitMQ在安装好后,可以访问http://ip地址:15672
;其自带了guest/guest的用户名和密码;如果需要创建自定义用户;那么也可以登录管理界面后,如下操作:
添加新的用户角色后的样子:
角色说明:
1、 超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
2、 监控者(monitoring)
可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
3、 策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
4、 普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
5、 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
Virtual Hosts配置
像mysql拥有数据库的概念并且可以指定用户对库和表等操作的权限。RabbitMQ也有类似的权限管理;在RabbitMQ中可以虚拟消息服务器Virtual Host,每个Virtual Hosts相当于一个相对独立的RabbitMQ服务器,每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通。 相当于mysql的db。Virtual Name一般以/开头。
创建Virtual Hosts
设置Virtual Hosts权限
然后就一切ok了
我们可以试着切换登录
结果完全ok
然后我们发现默认的配置文件没有找到
我们来解决一下,我们先去到rabbit的默认安装路径
cd /usr/share/doc/rabbitmq-server-3.6.5/
然后我们发现里面有一个配置文件,等下我们将其复制成图中那样即可
然后我们重启一下rabbitMQ让其生效
service rabbitmq-server restart
然后我们就会发现对应的配置文件就有了
我们还可以看到下面一些对应的端口信息