Linux安装RabbitMQh和PHP的AMQP扩展
RabbitMQ依赖Erlang环境
使用的的安装包是
erlang-23.2.5-1.el7.x86_64.rpm 和
rabbitmq-server-3.8.14-1.el7.noarch.rpm
RabbitMQ与Erlang版本不对应可能会导致安装失败
RabbitMQ与Erlang版本对应的链接
[下载链接](https://www.rabbitmq.com/which-erlang.html)
erlang下载页面链接
[下载地址](https://www.erlang.org/downloads/)
rabbitMQ下载页面链接
https://www.rabbitmq.com/install-rpm.html#downloads
安装环境
将下载好的安装包上传到服务器
安装erlang依次执行
npm -ivh erlang-23.2.5-1.el7.x86_64.rpm
安装rabbitMQ (/usr/lib /etc/)
npm -ivh rabbitmq-server-3.8.14-1.el7.noarch.rpm
(若报错socat相关 执行 yum install socat)
在执行npm -ivh rabbitmq-server-3.8.14-1.el7.noarch.rpm)
添加管理页面
rabbitmq-plugins enable rabbitmq_management
启动 rabbitmq-server start
若是报错 : Job for rabbitmq-server.service failed because the control process exited with error code.
See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details
可能是已经打开了,需要关闭重新打开
账号guest是不允许登录的,需要添加账号
rabbitmqctl add_user root 123456 添加用户
rabbitmqctl set_user_tags root administrator 赋予用户权限
rabbitmqctl set_permissions -p / root ".*" ".*" ".*" 设置权限
启动 rabbitmq-server start
xx.xx.xx.xx:15672 即可访问到管理页面(开启端口号)
安装PHP的AMQP扩展
使用的php版本是7.2
下载rabbitmq-c环境包 : https://github.com/alanxz/rabbitmq-c/releases
amqp环境包 : https://pecl.php.net/package/amqp
下载成功之后上传服务器 (/usr/local/)
安装abbitmq-c (/usr/local)
tar zxvf rabbitmq-c-0.10.0.tar.gz && cd rabbitmq-c-0.10.0
mkdir build && cd build
这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt
创建Makefile文件,Makefile文件会被创建到build目录中,,不要漏掉结尾的点 '..'
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/librabbitmq .. (解压的路径)
这一步是真正的build rabbitmq-c库的,注意,不要漏掉结尾的点 '.'
cmake --build .
make && make install
PHP安装AMQP扩展 (/usr/local)
tar zxf amqp-1.10.2.tgz
cd amqp-1.10.2
/www/server/php/72/bin/phpize (php对应的路径)
./configure --with-php-config=/www/server/php/72/bin/php-config --with-amqp
--with-librabbitmq-dir=/usr/local/librabbitmq
make && make install
若是报错 :
/usr/bin/ld: cannot find -lrabbitmq
collect2: error: ld returned 1 exit status
执行:
cd /usr/local/librabbitmq
ln -s ./lib64 ./lib
修改php.ini文件
extension=amqp.so
#查看扩展情况
php -m