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

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

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

一:环境安装

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

1. 安装erlang

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

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

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

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

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

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

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

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

*********************************************************************
********************** APPLICATIONS DISABLED **********************
********************************************************************* jinterface : Java compiler disabled by user *********************************************************************
*********************************************************************
********************** APPLICATIONS INFORMATION *******************
********************************************************************* wx : wxWidgets not found, wx will NOT be usable *********************************************************************
*********************************************************************
********************** DOCUMENTATION INFORMATION ******************
********************************************************************* documentation :
fop is missing.
Using fakefop to generate placeholder PDF files. *********************************************************************
[root@localhost erlang]#

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

[root@localhost erlang]# make

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

[root@localhost erlang]# make install

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

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

[root@localhost bin]# ./erl

二:安装Rabbitmq环境

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

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

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

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

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

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

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

#set erlang environment
export PATH=$PATH:/usr/erlang/bin #set rabbitmq environment
export PATH=$PATH:/usr/rabbitmq/sbin

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

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

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

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

三:开启web监控

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

[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. ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  2. ABP(现代ASP.NET样板开发框架)系列之5、ABP启动配置

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之5.ABP启动配置 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  3. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

  4. Android开发-之监听button点击事件

    一.实现button点击事件的方法 实现button点击事件的监听方法有很多种,这里总结了常用的四种方法: 1.匿名内部类 2.外部类(独立类) 3.实现OnClickListener接口 4.添加X ...

  5. SQL:插入指定标识列的数据时候的小错误

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 后期会在博客首发更新:http://dnt.dkill.net 好久没写标识系 ...

  6. word-break: break-all;、word-break: keep-all; 、word-wrap: break-word;和white-space:nowrap;都有什么作用

    小颖最近心情不好,心情不好就容易做傻事,所以昨天就干了件傻事 小颖昨天脑子一抽去拔罐了,拔完我就~~~~~~~~~~~~疼死宝宝了,昨晚一晚都没睡好,都不敢平躺,难受一晚上,早上到公司后困得啊,也是傻 ...

  7. SQL Tuning 基础概述04 - Oracle 表的类型及介绍

    Tables A table describes an entity such as employees. You define a table with a table name, such as ...

  8. C语言用分别用递归和循环求数字的阶乘的方法

    以下代码均为 自己 实现,嘻嘻! 参考文章:http://blog.csdn.net/talk_8/article/details/46289683 循环法 int CalFactorial(int ...

  9. 打造android偷懒神器———ListView的万能适配器

    如果你去做任何一个项目,我相信你都会跟我有一样的经历,最最普遍的就是列表显示ListView,当然,写N个自定义的适配器也是情理之中.虽说程序员本身就是搬砖,做这些枯燥无味的重复的事情也是理所当然,但 ...

  10. android手机旋转屏幕时让GridView的列数与列宽度自适应

    无意中打开了一年前做过的一个android应用的代码,看到里面实现的一个小功能点(如题),现写篇文章做个笔记.当时面临的问题是,在旋转屏幕的时候需要让gridview的列数与宽度能自适应屏幕宽度,每个 ...