PHP消息队列rabbitmq——linux环境

本文详细介绍了如何在特定环境下安装并配置RabbitMQ,以及如何安装PHP扩展来实现与RabbitMQ的集成。通过一系列步骤,包括安装依赖、配置环境变量、启动服务等,读者可以轻松地在自己的系统上部署RabbitMQ服务,并利用PHP扩展与之交互。文章还提供了关键命令和操作示例,确保读者能够顺利地进行环境搭建和功能验证。
yum install xmlto
复制代码
一.安装环境
  1. 依赖包安装
yum install ncurses-devel unixODBC unixODBC-devel
复制代码

2.erlang环境

wget http://erlang.org/download/otp_src_18.1.tar.gz
tar -zxvf otp_src_18.1.tar.gz
cd otp_src_18.1
./configure --prefix=/usr/local/erlang
make
make install
复制代码
# 配置erlang环境变量
vim /etc/profile
# 增加内容:
export PATH="$PATH:/usr/local/erlang/bin"

# 保存退出,并刷新变量
source /etc/profile


# 测试erlang是否安装成功
# 安装完成以后,执行erl看是否能打开eshell,用’halt().’退出,注意后面的点号,那是erlang的结束符。
[root@localhost src]# erl 
Erlang/OTP 18 [erts-7.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.1  (abort with ^G)
复制代码
  1. 安装rabbitmq依赖文件,安装rabbitmq
  • 安装rabbitmq依赖包
yum install xmlto
复制代码
  • 安装rabbitmq服务端
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.7/rabbitmq-server-3.5.7.tar.gz
tar zxvf rabbitmq-server-3.5.7.tar.gz
cd rabbitmq-server-3.5.7/
make
make install TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc
复制代码
  • 配置hosts
vim /etc/hosts
# 增加一行内容
# 当前IP地址   绑定HOSTNAME名称(vim /etc/sysconfig/network)
192.168.226.1xx localhost.localdomain
复制代码
  • rabbitmq命令
/usr/local/rabbitmq/sbin/rabbitmq-server start & 启动rabbitmq
/usr/local/rabbitmq/sbin/rabbitmqctl status 查看状态
/usr/local/rabbitmq/sbin/rabbitmqctl stop 关闭rabbitmq
复制代码

访问192.168.226.1xx:15672可进入rabbit管理界面;

设置开机自启动配置

#!/bin/sh
#start rabbitMq
sudo /usr/local/rabbitmq/sbin/rabbitmq-server & > /usr/local/rabbitmq/logs/rabbitmq.log 2>&1
复制代码
  1. RabbitMQ PHP扩展安装
  • 安装rabbitmq-c依赖包
yum install libtool autoconf
复制代码
  • 安装rabbitmq-c
wget -c https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
tar zxf rabbitmq-c-0.8.0.tar.gz
cd rabbitmq-c-0.8.0
./configure --prefix=/usr/local/rabbitmq-c-0.8.0
make && make install 
复制代码
  • 安装php拓展 amqp
wget -c http://pecl.php.net/get/amqp-1.9.3.tgz
tar zxf amqp-1.9.3.tgz
cd amqp-1.9.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.8.0
make && make install
复制代码

这里注意一下:我的是PHP7,所以安装rabbitmq-c和amqp安装的都是最新版本。网上很多教程都是基于PHP5的安装,rabbitmq-c版本一般都是0.5.0,amqp是1.6.这里注意根据你的PHP版本做好区分。不然在安装amqp,make编译的时候会错。

  • 编辑php.ini文件,增加amqp扩展支持
vim /usr/local/php/etc/php.ini
复制代码

添加一行:

extension=amqp.so
复制代码
  • 重启php-fpm
/etc/init.d/php-fpm restart
复制代码

查看是否安装成功,输出phpinfo()或者输入 php -m 都可以查看;

至此,所有的环境搭建完毕!

二.运行demo 我们把消费者的代码稍微优化一下,在接受消息的时候,只有在有消息的时候处理:

如图

我们开启两个消费者进程监听队列,然后生产者开始投放;

执行结果如图

可以看到,生产者投放了五个消息,被两个消费者依次有序的进行取出队列处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值