我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis,
当然还有重量级的专业产品rabbitmq,rabbitmq好就好在是用erlang(二郎神)开发的,它那天生的OTP并行计算框架,轻而易举的进程间通讯,我都恨
不得将后端的内存计算框架全部换成erlang。。。开个玩笑,这篇我们具体来讲讲erlang开发的一个成品,叫做rabbitmq。。。
一:环境安装
这些开源性的产品没多少是建议用户部署在windows上的,不过rabbitmq除外,为了更加贴近实际的应用场景,我们这里还是部署在centos7上。
1. 安装erlang
刚才也说了,rabbitmq只不过是erlang开发的一个成品而已,所以我们首先一定要安装好erlang环境才可以。。。
当然你也可以wget一下这个下载链接也没毛病。。。
wget
然后解压一下,修改一下文件夹叫做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吧,网址是:
接下来我们把这个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就可以啦。。。