RabbitMQ安装部署与为php打模块
安装
先安装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,如果有说明安装成功。