php环境下安装rabbitmq

  • 一、docker安装rabbitMQ
  • 二、安装 rabbitmq-c
  • 三、接下来就是安装 php amqp 的扩展了:
  • 四、如果不想在docker安装,可以把第一步骤变为以下操作
  • 1、安装准备
  • 安装必要依赖
  • 下载
  • 2、安装erlang和rabbitmq
  • 2.1、Erlang安装
  • 编译&安装
  • 配置环境变量
  • 设置环境变量,最后一行加上这个
  • 更新环境变量
  • 安装 socat
  • 2.2、安装rabbitmq
  • 导入秘钥
  • 安装
  • 3、rabbitmq的基本操作:
  • 4、配置rabbitmq网页管理插件
  • 将mq的tcp监听端口和网页管理端口都设置成允许远程访问
  • root权限


一、docker安装rabbitMQ

#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management
docker run -d --hostname my-rabbit  --name rabbit -15672:15672 -p 5672:5672  rabbitmq

二、安装 rabbitmq-c

C 与 RabbitMQ 通信需要依赖 rabbitmq-c 库(librabbitmq),具体请看https://github.com/alanxz/rabbitmq-c

git clone git://github.com/alanxz/rabbitmq-c.git
cd rabbitmq-c
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq
cmake --build . --target install

注意路径指定,下载amqp扩展时需要指定路径,同时需要修拷贝安装路径下的lib64为lib,否则php扩展载入的时候找不到扩展

cd /usr/local/rabbitmq
cp -r lib64 lib

三、接下来就是安装 php amqp 的扩展了:

你可以源码编译安装

wget http://pecl.php.net/get/amqp-1.8.0.tgz
tar zxvf amqp-1.8.0.tgz
cd amqp-1.8.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq
make && make install

必须指定好 rabbitmq-c文件的安装路径才行

最后将‘extension=amqp.so’加入 php.ini

四、如果不想在docker安装,可以把第一步骤变为以下操作

1、安装准备

安装Erlang编译安装必要依赖

安装必要依赖
sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git
下载
wget http://erlang.org/download/otp_src_20.2.tar.gz

解压

tar -zvxf otp_src_20.2.tar.gz
2、安装erlang和rabbitmq
2.1、Erlang安装

#进入根目录

cd otp_src_20.2.tar.gz
编译&安装
./otp_build autoconf
./configure && make && sudo make install
配置环境变量
vim /etc/profile
设置环境变量,最后一行加上这个
export ERLANG_PATH=$PATH:/usr/local/lib/erlang/bin
更新环境变量
source /etc/profile
安装 socat
sudo yum install -y socat
2.2、安装rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm
导入秘钥
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装

这一步我直接yum安装了,因为试了太多版本都不行,就交给yum了

yum install rabbitmq-server

启动RabbitMQ服务

3、rabbitmq的基本操作:

启动:rabbitmq-server -detached

关闭:rabbitmqctl stop

查看状态:rabbitmqctl status

4、配置rabbitmq网页管理插件

启用插件: rabbitmq-plugins enable rabbitmq_management

访问管理页面:http://192.168.?.?:15672 端口默认为15672

或许你打不开 记得把防火墙关了

关闭防火墙命令:systemctl stop firewalld.service

又或者你这样:

将mq的tcp监听端口和网页管理端口都设置成允许远程访问

firewall-cmd --permanent --add-port=15672/tcp

firewall-cmd --permanent --add-port=5672/tcp

systemctl restart firewalld.service

(我一般都是暴力操作直接关闭防火墙,因为我记得之前的胖领导给我说过linux 上的防防火墙没什么用)

打开之后有个用户名和密码

rabbitmq有一个默认的用户名和密码,guest和guest,但为了安全考虑,该用户名和密码只允许本地访问,如果是远程操作的话,需要创建新的用户名和密码;

root权限

rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码 (liudan liudan123)

rabbitmqctl set_permissions -p / username “." ".” “.*” //添加权限

rabbitmqctl set_user_tags username administrator //修改用户角色,将用户设为管理员