安装


先安装epel yum源,再安装erlang,erlang是一种语言,rabbitmq就是用erlang写的。

rpm -ivh http://mirrors.yun-idc.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install erlang

然后安装rabbitmq,先下载rpm包。

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm


配置

安装好后启动rabbitmq:

systemctl start rabbitmq-server

日志文件位置:可以使用systemctl status rabbitmq-server命令看到这个位置。

ll /var/log/rabbitmq/

打开日志文件 /var/log/rabbitmq/rabbit@node5.log 发现提示没有配置文件

config file(s) : /etc/rabbitmq/rabbitmq.config (not found)

下面创建配置文件:

vi /etc/rabbitmq/rabbitmq.config

写入如下内容:

[{rabbit, [{loopback_users, []}]}].

        这个配置内容的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。

systemctl restart rabbitmq-server

        保存配置后重启服务。此时就可以从外部访问了,但此时再看log文件,发现内容还是原来的,还是显示没有找到配置文件,可以手动删除这个文件再重启服务,不过这不影响使用。

开启web管理页面:

rabbitmq-plugins enable rabbitmq_management

然后访问如下端口:

http://192.168.140.133:15672

账户名和密码默认都是guest。


使用yum安装php的amqp模块


使用yum安装下面包:

yum install librabbitmq*
yum install php-pecl-amqp php-amqplib

在php.ini配置文件中添加如下:

[rabbitmq]
extension=amqp.so

然后查看 phpinfo() 页面。


编译安装php的amqp模块


        amqp是用C语言写的,由于C与RabbitMQ通信一般需要依赖rabbitmq-c库(也就是librabbitmq),所以编译扩展前需要先装依赖库,下面介绍编译安装 rabbitmq-c 和 amqp 插件。


安装编译需要的包:

yum groupinstall "Development Tools" "Server Platform Development"


下载编译安装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

编译成功后提示:

rabbitmq-c build options:
	Host: x86_64-unknown-linux-gnu
	Version: 0.7.1
	SSL/TLS: no
	Tools: no
	Documentation: no
	Examples: yes

安装:

make && make install


下载编译amqp模块:

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

使用phpize命令生成configure文件

phpize

编译:其中php-config命令需要安装php-devel,安装完成后就可以在 /usr/bin/php-config 中找到该文件了

yum install php-devel -y

然后编译amqp:

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

安装:

make && make install

安装完成提示:

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/lib64/php/modules/

        这个提示后面的目录就是编译出来的 amqp.so 模块所在的路径,只要在 php.ini 文件中添加上这个模块即可。如果是编译安装的php需要指定全路径,如果是yum安装的php只需要指定模块名称 amqp.so 即可。

vim /etc/php.ini

添加如下内容:

[rabbitmq]
extension=amqp.so

保存后重启 httpd 服务,然后查看 phpinfo() 页面搜索 amqp,如果有说明安装成功。