我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis,

当然还有重量级的专业产品rabbitmq,rabbitmq好就好在是用erlang(二郎神)开发的,它那天生的OTP并行计算框架,轻而易举的进程间通讯,我都恨

不得将后端的内存计算框架全部换成erlang。。。开个玩笑,这篇我们具体来讲讲erlang开发的一个成品,叫做rabbitmq。。。

一:环境安装

  这些开源性的产品没多少是建议用户部署在windows上的,不过rabbitmq除外,为了更加贴近实际的应用场景,我们这里还是部署在centos7上。

1. 安装erlang

刚才也说了,rabbitmq只不过是erlang开发的一个成品而已,所以我们首先一定要安装好erlang环境才可以。。。http://www.erlang.org/downloads

当然你也可以wget一下这个下载链接也没毛病。。。

  1. wget http://10.65.255.231/IXCb7261d0152b8aa2ad1f25a55bf0e761f/download/otp_src_19.1.tar.gz

然后解压一下,修改一下文件夹叫做erlang,如图:

接下来我们要安装各种erlang需要的依赖库,包括gcc, kernel-devel,ncurses-devel等等,如下:

  1. [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文件夹下。

  1. [root@localhost erlang]# ./configure --prefix=/usr/erlang --without-javac

这里一定要看清楚了,我开启的Terminal已经是在erlang文件夹下面的哦。

  1. *********************************************************************
  2. ********************** APPLICATIONS DISABLED **********************
  3. *********************************************************************
  4.  
  5. jinterface : Java compiler disabled by user
  6.  
  7. *********************************************************************
  8. *********************************************************************
  9. ********************** APPLICATIONS INFORMATION *******************
  10. *********************************************************************
  11.  
  12. wx : wxWidgets not found, wx will NOT be usable
  13.  
  14. *********************************************************************
  15. *********************************************************************
  16. ********************** DOCUMENTATION INFORMATION ******************
  17. *********************************************************************
  18.  
  19. documentation :
  20. fop is missing.
  21. Using fakefop to generate placeholder PDF files.
  22.  
  23. *********************************************************************
  24. [root@localhost erlang]#

ok,如果你安装顺利的话,就是上面这样的一个界面,这就说明安装通过了,接下来我们可以执行make命令进行编译。

  1. [root@localhost erlang]# make

稍等片刻后,如果安装顺利的话,我们就可以执行make install 即可。

  1. [root@localhost erlang]# make install

然后就可以看到,在/usr 文件夹下面就有一个编译好的erlang文件夹,不信你看。

到现在为止,erlang就已经安装好了,是不是有一种冲动加上好吊的样子呢??? 现在就拭目以待的启动吧~~~

  1. [root@localhost bin]# ./erl

二:安装Rabbitmq环境

rabbitmq安装起来就非常简单了,因为在官网上不光提供了source模式的源代码,也提供了binary的二进制文件,这里为了方便,我们就下载

binary吧,网址是:http://www.rabbitmq.com/download.html

接下来我们把这个binary下载下来后,也放到/usr 文件夹下面,可以看到这个rabbitmq-server 就是rabbitmq的启动程序,如下图:

然后你可以兴致勃勃的启动,恭喜你,遇到erl command not found错误。。。

  1. [root@localhost sbin]# ./rabbitmq-server
  2. ./rabbitmq-server: line 67: erl: command not found
  3. [root@localhost sbin]#

那这个问题该怎么解决呢??? 其实很简单,我只需要配置下erlang的环境即可,为了方便,我也可以将rabbimq的环境变量一起配置了。。。

当然centos中环境变量文件就是 /etc/profile,不信你看哦。。。

  1. #set erlang environment
  2. export PATH=$PATH:/usr/erlang/bin
  3.  
  4. #set rabbitmq environment
  5. export PATH=$PATH:/usr/rabbitmq/sbin

然后在terminal中执行以下命令 source  /etc/profile  让配置在当前ternimal中生效,生效之后,就可以在terminal上执行erl就可以啦。。。

  1. [root@localhost sbin]# ./rabbitmq-server
  2. ./rabbitmq-server: line 67: erl: command not found
  3. [root@localhost sbin]# source /etc/profile
  4. [root@localhost sbin]# erl
  5. Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
  6.  
  7. Eshell V8.1 (abort with ^G)
  8. 1>

同样现在也可以在terminal上直接执行rabbitmq-server 。。。 不过你一定要记住,这个source只在当前的terminal上有效,除非重启centos全局生效。

  1. [root@localhost Desktop]# source /etc/profile
  2. [root@localhost Desktop]# rabbitmq-server
  3.  
  4. RabbitMQ 3.6.5. Copyright (C) 2007-2016 Pivotal Software, Inc.
  5. ## ## Licensed under the MPL. See http://www.rabbitmq.com/
  6. ## ##
  7. ########## Logs: /usr/rabbitmq/var/log/rabbitmq/rabbit@localhost.log
  8. ###### ## /usr/rabbitmq/var/log/rabbitmq/rabbit@localhost-sasl.log
  9. ##########
  10. Starting broker...
  11. completed with 0 plugins.

三:开启web监控

rabbitmq最牛逼的一个地方就是自带一个高配的监控,所以必须将其启动,你只需要启动插件 rabbitmq_management 就可以了。。。。

  1. [root@localhost Desktop]# rabbitmq-plugins enable rabbitmq_management

然后键入127.0.0.1:15672 就可以看到啦。。使用guest, guest 登陆,是不是好吊的样子撒!

好了,本篇就说到这里,希望对你有帮助~~~

使用专业的消息队列产品rabbitmq之centos7环境安装的更多相关文章

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

    如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Centos7,为了保证对linux不太熟悉的伙伴也能轻松上手(避免折在安装的路上),下面是 ...

  2. [转]centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html CentOS7上安装Rabbit ...

  3. centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html [源码安装,适用GNOME + ...

  4. 消息队列&Celery&RabbitMQ&zeromq

    一.消息队列 什么是消息队列? “消息队列”是在消息的传输过程中保存消息的容器. “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. 消息 ...

  5. 消息队列之 RabbitMQ

    https://www.jianshu.com/p/79ca08116d57 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块 ...

  6. RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

    消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以 ...

  7. 转 消息队列之 RabbitMQ

    转 https://www.jianshu.com/p/79ca08116d57 消息队列之 RabbitMQ 预流 2017.05.06 16:03* 字数 4884 阅读 80990评论 18喜欢 ...

  8. 消息队列,RabbitMQ、Kafka、RocketMQ

    目录 1.消息列队概述 1.1消息队列MQ 1.2AMQP和JMS 1.2.1AMQP 1.2.2JMS 1.2.3AMOP 与 JMS 区别 1.3消息队列产品 1.3.1 Kafka 1.3.2 ...

  9. 消息队列之 RabbitMQ【验证通过】

    消息队列之 RabbitMQ 预流 关注  22.9 2017.05.06 16:03* 字数 4884 阅读 284691评论 41喜欢 618赞赏 2 关于消息队列,从前年开始断断续续看了些资料, ...

随机推荐

  1. ELK 安装笔记

    logstash -noverify -javaagent:E:\svn\other\nn\jrebel6.0.0+crack\jrebel6.0.0-crack\jrebel.jar -Drebel ...

  2. Protobuf使用规范分享

    一.Protobuf 的优点 Protobuf 有如 XML,不过它更小.更快.也更简单.它以高效的二进制方式存储,比 XML 小 3 到 10 倍,快 20 到 100 倍.你可以定义自己的数据结构 ...

  3. JSP页面跳转的几种实现方法

    使用href超链接标记      客户端跳转 使用JavaScript               客户端跳转 提交表单                        客户端跳转 使用response ...

  4. 关于项目中下单流程HTML设计的一些思考

    需求 上面文字和圈圈是对齐的. 想法 一开始是想把文字和圈圈分开来的,也就是两个盒子放置.但操作中发现,想把它们对齐非常的难,总有一些是无法对齐的. 最终换了一种实现方式,按照需求,不就是想把它们关联 ...

  5. 05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.引入 概述 音频文件或视频文件都可以看做是一个容器文 ...

  6. .NET Core采用的全新配置系统[2]: 配置模型设计详解

    在<.NET Core采用的全新配置系统[1]: 读取配置数据>中,我们通过实例的方式演示了几种典型的配置读取方式,其主要目的在于使读者朋友们从编程的角度对.NET Core的这个全新的配 ...

  7. C# 合并及拆分Word文档

    本文简要分析一下如何如何使用C#简单实现合并和拆分word文档.平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部分添加到另一个文档中,有的时候也会想要将文档拆分 ...

  8. PHP之提取多维数组指定列的方法

    前言:有时候在开发中会遇到这样的问题,我们需要把有规律的多维数组按照纵向(列)取出,有下面的方法可用: 我们将拿下面的数组来处理: $arr = array( '0' => array('id' ...

  9. 把PDF的底色改成护眼色,这样读起文章来就不是很累了······

    PDF格式背景改变方法如下: 打开PDF 点击 编辑 ->首选项->辅助工具->选中"替换文档颜色"和" 自定义颜色"->将背景颜色改成 ...

  10. Jedis的使用

    Redis是常用的key-value存储服务器,Java使用Redis有很多方法,其中官方推荐的是Jedis. 使用Jedis,首先是下载jedis-x.x.x.jar文件并导入工程,然后运行Redi ...