1、简介

  AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
  RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

2、安装Erlang需要的环境

  sudo yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget unixODBC-devel

3、Erlang安装配置

 [origalom@developers ~]$ wget http://erlang.org/download/otp_src_20.1.tar.gz
[origalom@developers ~]$ tar -xzvf otp_src_20.1.tar.gz
[origalom@developers ~]$ cd otp_src_20.1
[origalom@developers ~]$ sudo ./configure --prefix=/opt/erlang --without-javac
[origalom@developers ~]$ sudo make && sudo make install
[origalom@developers ~]$ sudo vim /etc/profile
              在底部添加配置:export ERLANG_HOME=/usr/local/erlang
export PATH=$PATH:$ERLANG_HOME/bin
7 [origalom@developers ~]$ source /etc/profile

安装过程中可能出现的问题(APPLICATIONS DISABLED内的部分):

  (1)编译时,出现错误:odbc : ODBC library - link check failed

    需要安装unixODBC,调用命令sudo yum install unixODBC-devel

4、验证Erlang是否安装成功

  进入erlang安装目录的bin目录下,输入erl,如果出现下面的内容,表示安装成功:

  Erlang/OTP 20 [erts-9.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

  Eshell V9.1 (abort with ^G)
  1>

    

5、下载安装rabbitmq

 [origalom@developers ~] cd ~
[origalom@developers ~] wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.2/rabbitmq-server-generic-unix-3.7.2.tar.xz
[origalom@developers ~] xz -d rabbitmq-server-generic-unix-3.7.2.tar.xz
[origalom@developers ~] tar -xvf rabbitmq-server-generic-unix-3.7.2.tar
[origalom@developers ~] sudo mv rabbitmq_server-3.7.2/ /usr/local/rabbitmq
[origalom@developers ~] sudo vim /etc/profile
在最下面添加:export PATH=$PATH:/usr/local/rabbitmq/sbin
[origalom@developers ~] source /etc/profile
[origalom@developers ~] cd /usr/local/rabbitmq/sbin
[origalom@developers ~] rabbitmq-server -detached # 启动rabbitmq

  说明:如果按照上面操作过后,启动时还是提示rabbitmq-server:行85: erl: 未找到命令,则修改rabbitmq/sbin/rabbitmq-server文件,加上 export PATH=$PATH:/opt/erlang/bin环境变量即可。

  其他命令(sbin目录下):

      rabbitmqctl status    #查看rabbitmq状态

      rabbitmqctl stop       #  关闭rabbotmq服务

6、配置网页插件

  上面已经创建好了rabbitmq服务,下面为了在网页上进行显示,可以配置网页插件。

 [origalom@developers ~] cd /usr/local/rabbitmq/sbin
[origalom@developers ~] rabbitmq-plugins enable rabbitmq_management

  这样就可以开启网页插件了。

  开启过后,在浏览器中输入服务器IP:15672,就可以看到RabbitMQ的WEB管理页面了。

  

7、配置访问账号密码和权限

 [origalom@developers ~] cd /usr/local/rabbitmq/sbin
[origalom@developers ~] rabbitmqctl add_user rabbit rabbit # 添加用户
[origalom@developers ~] rabbitmqctl set_permissions -p / [用户名] ".*" ".*" ".*" # 添加权限
[origalom@developers ~] rabbitmqctl set_user_tags [用户名] [角色名] # 修改角色

  角色分类:

    ①  none: 不能访问 management plugin

    ②  management:  用户可以通过AMQP做的任何事外加:列出自己可以通过AMQP登入的virtual hosts ,查看自己的virtual hosts中的queues, exchanges 和 bindings,查看和关闭自己的channels 和 connections,查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

    ③  policymaker: management可以做的任何事外加:查看、创建和删除自己的virtual hosts所属的policies和parameters

    ④  monitoring:   management可以做的任何事外加:列出所有virtual hosts,包括他们不能登录的virtual hosts,查看其他用户的connections和channels,查看节点级别的数据如clustering和memory使用情况,查看真正的关于所有virtual hosts的全局的统计信息

    ⑤  administrator: policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts,查看、创建和删除users,查看创建和删除permissions,关闭其他用户的connections

  

8、配置防火墙

  配置防火墙,开放端口:

  5672: tcp端口,amqp通信端口,如果非单机操作情况下,必开

  15672 : tcp端口,网页管理端口,如果需要进行网页管理,则开放

Rabbitmq消息队列(一) centos下安装rabbitmq的更多相关文章

  1. 【消息队列】windows下安装RabbitMQ消息队列服务器

    RabbitMQ是什么 ? RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. 1:安装RabbitMQ需要先安装Erla ...

  2. RabbitMQ消息队列入门(一)——RabbitMQ消息队列的安装(Windows环境下)

    一.RabbitMQ介绍1.RabbitMQ简介RabbitMQ是一个消息代理:它接受和转发消息.你可以把它想象成一个邮局:当你把你想要发布的邮件放在邮箱中时,你可以确定邮差先生最终将邮件发送给你的收 ...

  3. RabbitMQ消息队列在PHP下的应用

    消息队列的实现中,RabbitMQ以其健壮和可靠见长.公司的项目中选择了它作为消息队列的实现.关于MQ的机制和原理网上有很多文章可以看,这里就不再赘述,只讲几个比较容易混淆的问题 1,binding ...

  4. [转]RabbitMQ消息队列在PHP下的应用

    FROM : http://www.cnblogs.com/phpinfo/p/4104551.html 参考资料: http://www.yuansir-web.com/tag/rabbitmq/ ...

  5. centos 下安装rabbitmq

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

  6. 【RabbitMQ】3、win7下安装RabbitMQ

    RabbitMQ依赖erlang,所以先安装erlang,然后再安装RabbitMQ; erlang,下载地址:http://www.erlang.org/download RabbitMQ,下载地址 ...

  7. RabbitMQ消息队列(五)-安装amqp扩展并订阅/发布Demo(.Net Core版)

    publish发布消息 新建一个Asp.Net Core控制台项目:PublishDemo 安装Nuget包 Install-Package RabbitMQ.Client 添加命名空间引用 usin ...

  8. RabbitMQ消息队列1: Detailed Introduction 详细介绍

    1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有 ...

  9. (三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1

    原文:(三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1 如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Cen ...

随机推荐

  1. Centos7下zabbix部署(四)定义报警媒介-邮件

    1.安装发送邮件工具mailx [root@zabbix-server ~]# yum install mailx -y 2.自定义使用163邮箱为默认发件人(避免被当作垃圾邮件) set from= ...

  2. 先刷一波简单的web前端面试题

    1简述一下src与href的区别href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接.src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置 ...

  3. thinkphp函数学习(2)——microtime, memory_get_usage, dirname, strtolower, is_file

    1. microtime() 返回  微秒 秒  这种格式的内容 例子 <?php echo(microtime()); ?> 输出: 0.25139300 1138197510 // 前 ...

  4. 搭建负载均衡的环境(利用虚拟机上的四台centos)

    以下转载: 准备 l 系统:Centos6  (三台) l 负载均衡:LVS  + keepalived l 服务器1:Http l 服务器2:Http ip配置 1.VIP(virtual ip): ...

  5. 10.9 顾z校内互坑题

    T1 (help) 题意简述 给定一个长度为\(n\)的序列.然后给出多组询问. 询问\([l,r]\)区间内不等于该段区间\(gcd\)的数的个数. 分析 看到区间问题,优先考虑线段树 or 树状数 ...

  6. SPOJ 3267 DQUERY - D-query (主席树)(区间数的种数)

    DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...

  7. luogu P3818 小A和uim之大逃离 II

    题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...

  8. [POI2008]Mirror Trap

    题目大意: 一个$n(n\le10^5)$个顶点的格点多边形,每条边平行于网格线,每个角度数均为$90^\circ$或$270^\circ$,周长小于$3\times10^5$,每个顶点可以安装激光发 ...

  9. apache mod_speling.so 忽略URL大小写(自动纠错)

    apache mod_speling.so 忽略URL大小写(自动纠错) 打开配置文件  httpd.conf 加入 LoadModule speling_module modules/mod_spe ...

  10. 获取textview行数

    获取textview行数 textview 代码 import android.content.Context; import android.graphics.Canvas; import andr ...