系统版本:

安装依赖:

由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。

Erlang的安装方式大概有两种:

(1) Erlang Solution安装(推荐)

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

yum install erlang

(2) 从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)

yum install epel-release

yum install erlang

安装RabbitMQ:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm

下载完成后安装:

yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm

安装时如果遇到下面的依赖错误:

Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel) Requires: libreadline.so.5()(64bit)

可以尝试先执行:

yum install socat

RabbitMQ的一些基本操作:

# 添加开机启动RabbitMQ服务

systemctl enable rabbitmq-server.service

# 查看服务状态

systemctl status  rabbitmq-server.service

# 启动服务

systemctl start rabbitmq-server.service

# 停止服务

systemctl stop rabbitmq-server.service

# 查看当前所有用户

rabbitmqctl list_users

# 查看默认guest用户的权限

rabbitmqctl list_user_permissions guest

# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户

rabbitmqctl delete_user guest

# 添加新用户

rabbitmqctl add_user username password

# 设置用户tag

rabbitmqctl set_user_tags username administrator

# 赋予用户默认vhost的全部操作权限

rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

# 查看用户的权限

rabbitmqctl list_user_permissions username

更多关于rabbitmqctl的使用,可以参考帮助手册

开启web管理接口

如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

rabbitmq-plugins enable rabbitmq_management

访问:  http://localhost:15672

配置RabbitMQ

关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
关于每个配置项的具体作用,可以参考官方文档

开启用户远程访问

默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

{loopback_users, []}

另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。

{loopback_users, ["admin"]}

restart …

查看日志位置

systemctl status  rabbitmq-server.service

这里可以看到log文件的位置,转到文件位置,打开文件:

这里显示的是没有找到配置文件,我们可以自己创建这个文件:

cd /etc/rabbitmq/

vim rabbitmq.config

编辑内容如下:

[{rabbit, [{loopback_users, []}]}].

这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。

保存配置后重启服务:

systemctl stop rabbitmq-server.service

systemctl start rabbitmq-server.service

此时就可以从外部访问了,但此时再看log文件,发现内容还是原来的,还是显示没有找到配置文件,可以手动删除这个文件再重启服务,不过这不影响使用:

rm rabbit\@mythsky.log

service rabbitmq-server stop

service rabbitmq-server start

注意:记得要开放5672和15672端口 (iptables版本)

/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

WEB UI:

【CentOS】下安装RabbitMQ教程的更多相关文章

  1. windows系统下安装rabbitmq教程

    1.简介 安装rabbitmq需要下载软件Erlang语言开发包和RabbitMQ文件包.文件最新下载地址如下: Erlang: https://www.erlang.org/ RabbitMQ: h ...

  2. Rabbitmq消息队列(一) centos下安装rabbitmq

    1.简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的 ...

  3. centos 下安装rabbitmq

    1.先安装下依赖环境 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto 2.到earlang 官网下载erlang包 ...

  4. centos 7环境下安装rabbitmq

    以 前在windows 7下面成功安装过rabbitmq,但是在windows 10下面安装失败,各种问题,各种解决方法都试过,还是不成功,最终放弃治疗. 后来经人指点,在linux下安装rabbit ...

  5. CentOS下安装hadoop

    CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...

  6. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  7. centos下安装php环境

    centos下安装php环境 安装apache yum install httpd-devel 启动apache /etc/init.d/httpd start 安装mysql yum install ...

  8. centos7下安装rabbitmq

    RabbitMQ: RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.Rab ...

  9. CentOS 7 安装 RabbitMQ 3.7

    目录 CentOS 7 安装 RabbitMQ 3.7 安装Erlang 安装依赖 创建yum源 参考 添加内容 安装 进入erlang命令行表示成功 安装 socat RabbitMQ 安装 sys ...

随机推荐

  1. Coursera 机器学习基石 第4讲 学习的可行性

    这一节讲述的是机器学习的核心.根本性问题——学习的可行性.学过机器学习的我们都知道,要衡量一个机器学习算法是否具有学习能力,看的不是这个模型在已有的训练数据集上的表现如何,而是这个模型在训练数据外的数 ...

  2. 一款css3的标签动画效果

    /*响应式设计,动画效果需引入animate.min.css库*/ <div class="index_tag"> <div class="rowFlu ...

  3. 微信小程序的postMessage不实时?

    最近在开发小程序的时候用到了wx.postMessage()这个API,在使用前我一直认为wx.postMessage()可以在小程序和H5中实时的传递信息,可以依靠这个API开发一个小程序的brid ...

  4. 如何在Mac中创建MiniKube

    转载请标明出处: http://blog.csdn.net/forezp/article/details/82563153 本文出自方志朋的博客 这篇文章介绍了如何在Mac系统中创建MiniKube. ...

  5. oracle使用DBMS_RANDOM包生成随机数据

    (一)DBMS_RANDOM包信息 DBMS_RANDOM包包含3个存储过程,4个函数,1个类型,一共8个模块,如下. SQL> desc dbms_random Element Type -- ...

  6. Oracle split分区表引起ORA-01502错误

    继上次删除分区表的分区遇到ORA-01502错误后[详细见链接:Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态],最近在split分区的时候又遇到了这个问题 ...

  7. Oracle创建聚簇表

    创建聚簇表过程: 创建簇(cluster)----创建簇表(基本类似创建一般表但有区别)----创建簇索引(index)----数据管理 创建簇: create cluster stu_ach(sid ...

  8. JavaScript字符串的处理方法

    1.字符方法charAt()和charCodeAt();这两个方法都接收一个参数 var stringValue = "hello world"; stringValue.char ...

  9. python初学者日记02(正则表达式)

    写作时间:2018/12/17 作者:永远的码农(博客园) 一.正则表达式简介: 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或R ...

  10. mysql启动错误处理

    1.当启动MySQL时,报如下错误 [ERROR] Plugin 'InnoDB' init function returned error.[ERROR] Plugin 'InnoDB' regis ...