linux [Centos7]搭建PHP的RabbitMQ环境
安装位置 /root
第一步:安装RabbitMQ的依赖 -- erlang
1、yum install epel-release
2、yum install yum-priorities
从Erlang Solution安装,确保安装最新的
1、wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2、rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3、rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
修改 /etc/yum.repos.d/erlang_solutions.repo(基本是不用修改)
// 修改结果如下:
[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
baseurl=http://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
yum 安装 erlang
1、yum install erlang
2、erl // 看一下是否ok
第二步:安装RabbitMQ
1、wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el6.noarch.rpm //
版本自己选择
2、rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
// 导入 rabbitmq 签名key
3、yum install rabbitmq-server-3.8.5-1.el6.noarch.rpm
配置 远程管理&&监听
启动:systemctl start rabbitmq-server
重启:systemctl restart rabbitmq-server
停止:systemctl stop rabbitmq-server
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user admin 123456
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin "." "." "."
rabbitmqctl delete_user guest
----------------- 我是分割线 ----------------------------------------------------------------------------------------------------
开始给 PHP 安装 RabbitMQ 模块:AMQP
注意:在安装 AMQP 前,需要安装 AMQP 的依赖库 librabbitmq 。AMQP扩展是C写的,而C与RabbitMQ通信一般需要依赖rabbitmq-c库(也就是librabbitmq),所以编译扩展前需要先装依赖库。
第一步:安装 rabbitmq-c
[root@kevin /]# git clone https://github.com/alanxz/rabbitmq-c.git // 下载
[root@kevin /]# cd rabbitmq-c && mkdir build && cd build // 这一步是在rabbitmq-c的根目录下创建一个build子目录
// 让cmake根据../CMakeList.txt 创建Makefile文件。Makefile文件会被创建到build目录中。注意:不要漏掉 '..' 而 /usr/local/rabbitmq-c 是指定rabbitmq-c 安装目录
[root@kevin build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..
[root@kevin build]# cmake --build .--target install
// build 并安装 rabbitmq-c库。注意:不要漏掉点 '.'
注意:到这里就已经安装完成了。不过这里有一个坑。你可以看一下/usr/local/rabbitmq-c下的目录只有include和lib64。因为后面编译安装amqp扩展的时候系统会到/usr/local/rabbitmq-c/lib目录下搜索依赖库,导致错误。所以这里需要加一步:
[root@kevin build]# cd /usr/local/rabbitmq-c && ln -s lib64 lib
第二步:安装 PHP 的 AMQP 扩展
[root@kevin /]# wget http://pecl.php.net/get/amqp-1.9.3.tgz // 下载
[root@kevin /]# tar -zvxf amqp-1.9.3 && cd amqp-1.9.3 // 解压
[root@kevin amqp-1.9.3]#
/usr/local/php/bin/phpize // 生成 configure 可执行文件
// 配置一下。这里有2个目录,请自行对应:php-config 目录 和 刚才安装的 rabbitmq-c 目录
[root@kevin amqp-1.9.3]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
[root@kevin amqp-1.9.3]# make && make install
第三步:修改php.ini 开启 amqp.so 模块
[root@kevin amqp-1.9.3]# vim /usr/local/php/etc/php.ini // 编辑 php.ini
添加 extension=amqp.so //找到extension在末尾添加上
[root@kevin amqp-1.9.3]# lnmp restart // 保存后,重启 lnmp