RabbiMQ安装与使用

1,339 阅读4分钟

最近三个礼拜被加班,回家,公司团建困扰,一直没有时间更新博客,之前一直在研究sphinx,但是无奈sphinx的中文网站已经关闭,网上所能找到的学习资源也十分稀少,本来想配置个coreseek来尝试一下中文分词。但一路配置下来一路红灯,有点难受。这么长时间投入与收获不成比例,遂暂时先暂停下sphinx的学习。而且我了解到同类的产品还有redis search,相比sphinx文档更完善,更新的更频繁。接下来有时间,准备接触一下redis search。

说到正题上来,停止了对sphinx的学习,但其他的学习脚步不能停止。于是又去寻找新的学习资源。想到之前在草料的用到过消息队列来进行一个邮件的发送,然后最近项目上面又要用到消息队列做一个异步更新数据。之前一直用的是阿里云的kafka服务,所以这次想自己搭一个rabbitMq来尝试着玩一下。

rabbitMq的介绍

1.1、什么是RabbitMQ?

RabbitMQ是一个开元的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于 AMQP协议的。

1.2、RabbitMQ有哪些特点?

目前大多数互联网都在使用RabbitMQ

RabbitMQ底层采用Erlang语言进行编写

开源、性能优秀,稳定

与SpringAMQP完美的整合、API丰富

集群模式丰富,表达式配置,HA模式,镜像队列模型

保证数据不丢失的前提做到高可靠、可用性

mac安装rabbitMq

我是尝试着在自己的mac上安装rabbitMq和amqp扩展的,在linux上安装网上的教程比较多,而且全程安装下来也基本没出什么大问题,有兴趣的小伙伴可以网上自己查找教程。

1.rabbitMq的安装

rabbitMq的安装非常简单,大家都知道mac有个很好用的东西homebrew,Linux有yum, 所以在mac上面安装rabbitMq服务只要一行命令:

mac: brew install rabbitmq

linux: yun install rabbitmq

安装成功后,RabbitMQ安装后的路径为:/usr/local/Cellar/rabbitmq/3.7.16 (版本根据安装版本确定)进入该目录(/usr/local/Cellar/rabbitmq/3.7.16)之后,输入sbin/rabbitmq-server指令,出现一下提示信息时rabbitmq启动成功:

此时在浏览器输入http://localhost:15672即可进入rabbitmq控制终端登录页面,默认用户名和密码为 guest/guest。

2.rabbitMq-c的安装

rabbitMq-c是ampq的一个依赖包,所以要住那个ampq必须安装rabbitMq-c。rabbitMq-c的安装在mac上也可以通过homebrew安装,这里就不再介绍了。反正很简单,就一条命令 homebrew install rabbitMq-C。下面介绍一下如何用安装包编译安装:

wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.7.1/rabbitmq-c-0.7.1.tar.gz

tar zxf rabbitmq-c-0.7.1.tar.gz

cd rabbitmq-c-0.7.1

./configure --prefix=/usr/local/rabbitmq-c-0.7.1

make && make install

这里在编译的时候/usr/local目录下会涉及到文件夹权限的问题,涉及到文件夹权限的问题可以用sudo编译或者给予755权限。

3.安装amqp

wget https://pecl.php.net/get/amqp-1.6.1.tgz

tar zxf amqp-1.6.1.tgz

cd amqp-1.6.1

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.7.1

编译这一步/user/local/php/bin这个路径替换成你php所在的路径,假如你装的是MAMP集成环境,你就要找到对应版本php版本下面的phpize来进行编译。/usr/local/rabbitmq-c-0.7.1,是你rabbitmq-c安装的路径。

然后是 make && make install

4.配置php.ini 这一步很简单,反正找到你的php版本下面的php.ini,然后加上

extension = ampq.so

然后重启php。 这里要注意,如果你是MAMP环境下面的php,修改php.ini,要打开MAMP的控制台:

找到对应的版本的php.ini进行修改,然后重启php,否则直接修改目录里面的php.ini是无效的。

最后用phpinfo()看一下,如果显示ampq已经有了,表示安装成功

总结

以上就是mac环境下安装rabbitmq和ampq扩展的全部,接下里我会去重点学习一下rabbitmq和adpq,持续更新中...