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 //修改用户角色,将用户设为管理员