CentOS7  安装RabbitMq

参考------>  https://www.cnblogs.com/liaojie970/p/6138278.html

https://www.cnblogs.com/dreasky/p/9146494.html

一、前期准备,下载安装包,(配置环境变量)

在安装RabbitMQ前我们要先安装erlang ,和Windows环境下类似,这里主要是通过命令全装,本文主要介绍的是erlang-19.0.4-1.el7.centos.x86_64.rpm,rabbitmq-server-3.6.6-1.el7.noarch.rpm版本的erlang和RabbitMq

1、下载erlang和rabbitmq-server的rpm:

http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

PS:把下载的rpm文件都放到一个文件夹中,方便安装,我这里是将两个安装包放在了 /usr/local  目录下,如下:

2,首先我们要安装的是erlang,具体操作如下:

通过命令  -------->  rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm

安装完成之后输入erl命令进行测试,erlang是否安装成功,安装成功会出现类似下图内容:

PS:这里在测试之前,根据自己安装的目录不同,可能需要配置环境变量,我这里是因为安装在系统默认的路径上,环境变量已经配好,所以不用再配置,如果需要配置环境变量,如下配置就可以:

# vim /etc/profile
在末尾加入以下内容:
#set erlang environment
export PAHT=$PATH:/usr/local/erlang/bin

再用命令:source /etc/profile  使环境变量生效

然后在用erl 测试是否出现Eshell  版本号,如上图,这样就安装完成了Erlang环境

3、接下来就要安装RabbitMQ的服务了,具体操作如下:

使用命令----->  rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm   可能会遇到下面类似的问题

在安装rabbitmq时提示依赖socat

执行命令  ---->  yum install socat

然后再次执行   rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm  进行再次安装RabbitMq

安装完成之后,进行测试,是否安装成功,可以通过如下几个命令进行操作:

首先要找到sbin目录

/sbin/  service rabbitmq-server stop #关闭

/sbin/  service rabbitmq-server start #启动

/sbin/  service rabbitmq-server status #状态

然后cd  /sbin/目录下

命令--->    ./rabbitmq-plugins list   会显示如下图

使用命令---->   ./rabbitmqctl status   会显示如下图内容:

PS: 运行如下的命令,增加用户admin,密码admin

[root@localhost sbin]# ./rabbitmqctl add_user admin admin
Creating user “admin” …
…done.
[root@localhost sbin]# ./rabbitmqctl set_user_tags admin administraotr
Setting tags for user “admin” to [administraotr] …
…done.
[root@localhost sbin]# ./rabbitmqctl list_users
Listing users …
admin [administraotr]
guest [administrator]
…done.

二、远程访问登录

1、 解决非本机访问的问题,guest登录不了
在/etc/rabbitmq/rabbitmq.config增加以下内容
[{rabbit, [{loopback_users, []}]}].

2、用户权限,支持远程访问

当我们开启了服务之后,我们通过远程访问地址   http://192.168.1.35:15672/  可以看到

这个时候你可能很高兴,以为成功了,但是你通过默认用户guest和密码guest登录时会发现,登录失败!

这个时候就需要有一个操作需要我们完成,就是用户权限问题,什么用户可以远程访问的问题

参考  ----->  https://www.cnblogs.com/haoliansheng/p/5392860.html

rabbitmq出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,不能使用IP地址登录,也就是不能远程访问,这对于服务器上没有安装桌面的情况是无法管理维护的。

要解决这个问题需要配置远程登录权限,这里通过配置文件来实现远程访问。Linux 系统环境下,我们配置文件在%/rabbitmq_server-3.3.5%/etc/rabbitmq/rabbitmq.config.example

首先找到文件位置:

通过命令 : vi  rabbitmq.config.example  进入文件,将下面代码修改或加进文件中保存

 %% -*- mode: erlang -*-
%% ----------------------------------------------------------------------------
%% RabbitMQ Sample Configuration File.
%%
%% See http://www.rabbitmq.com/configure.html for details.
%% ----------------------------------------------------------------------------
[
{rabbit,
[%%
%% Network Connectivity
%% ====================
%% %% By default, RabbitMQ will listen on all interfaces, using
%% the standard (reserved) AMQP port.
%%
{tcp_listeners, [5672]},
{loopback_users, ["admin"]},
……
]}
].

然后就可以通过admin,进行登录访问了客户端了

下面演示一下关于在客户端页面进行的添加用户,分配权限的操作,不多说了直接上图演示如下:

是不是发现下图粉色框中的权限不同,这时候就要点击红色框中的 zhz11

这样对RabbitMq的用户赋权限问题就解决了!

PS:类似安装ERlang

随机推荐

  1. Windows Server 2012 支持的逻辑盘容量最大是多少?

    这个问题似乎看起来是问系统支持最大硬盘参数?其实不然,这和文件系统有着很大关系. 磁盘在系统应用之前,要先初始化,然后创建卷,再进行格式化后完成在系统的挂载.完成这些操作之后,磁盘空间可以被系统使用. ...

  2. Android adb push 和 pull操作

    由于安卓真机本地调试时,每次启动并生成apk然后安装到设备比较费时,而很多情况是仅仅修改了hot 脚本文件(cocos2dx + lua). 所以,使用热更机制把修改后的lua文件push到热更目录( ...

  3. HTML学习笔记——frameset和marquee

    1>frameset 效果如百Google度 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  4. node.js+WebStorm路径问题

    目录路径 :A文件夹下有B.C文件夹和app.js文件.B文件夹下有webserver.js文件等. A B webserver.js ...... C ...... app.js WebStorm配 ...

  5. Jqgrid入门-使用模态对话框编辑表格数据(三)

            Jqgrid是一个强大的表格插件,它提供了多种方式来编辑数据.这三种方式分别是: Cell Editing——只允许修改某一个单元格内容 Inline Editing——允许在jqGr ...

  6. 快速EDAS字体嵌入问题

    在用edas向国际会议投稿的时候,往往要检查pdf稿件的格式,例如页边距.行距.字体等.经常碰到的一个问题就是字体未嵌入到文件中.因为大家一般用CTex里面的ps2pdf生成pdf文件,图片中的字往往 ...

  7. java基础中this,super

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...

  8. Azure架构(一):云计算基础

    云计算的定义 云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给使用各种计算终端(桌面电脑.笔记本电脑.平板电脑.手机等) ...

  9. 并发之java.util.concurrent.atomic原子操作类包

    15.JDK1.8的Java.util.concurrent.atomic包小结 14.Java中Atomic包的原理和分析 13.java.util.concurrent.atomic原子操作类包 ...

  10. Codeforces.788C.The Great Mixing(bitset DP / BFS)

    题目链接 \(Description\) 有k种饮料,浓度Ai给出,求用最少的体积配成n/1000浓度的饮料. \(Solution\) 根据题意有方程 (A1x1+A2x2+...+Anxn)/[( ...