Linux搭建PHP下的RabbitMQ环境(php-amqp/rabbitmq-c/erlang)

本文演示环境

  • Red Hat 11.2.1-9
  • gcc (GCC) 11.2.1 20220127
  • OpenSSL v1.1.0
  • PHP 7.1

安装erlang

erlang和RabbitMQ有版本对应关系Erlang Version Requirements,需要选择正确的版本。

本文以erlang 26和RabbitMQ 3.13.2为例。

erlang下载地址

下载包上传服务器后:

复制代码
tar -xvzf otp_src_26.2.5.tar.gz
cd otp_src_26.2.5
./configure --prefix=/usr/local/erlang --without-javac
make && make install

完成后编辑:

复制代码
 vim /etc/profile

文件末尾加入配置并保存:

复制代码
#erlang
PATH=$PATH:/usr/local/rabbitmq/erlang/bin

使配置生效:

复制代码
source /etc/profile

验证安装成功:

复制代码
erl

安装RabbitMQ

RabbitMQ下载地址(以RedHat为例)

下载的rpm包上传服务器后:

复制代码
rpm -Uvh rabbitmq-server-3.13.2-1.el8.noarch.rpm
yum install -y rabbitmq-server

更改默认日志和数据存储路径(可选)

默认日志和数据存在系统盘,如果要改成数据盘,以存储在/data/rabbitmq为例:

复制代码
mkdir /data/rabbitmq
chown -R rabbitmq:rabbitmq /data/rabbitmq
vi /etc/rabbitmq/rabbitmq-env.conf

加入以下配置并保存:

复制代码
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/data/rabbitmq/log

启动Service,加入开机启动

复制代码
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service

创建rabbit管理页面和管理员

复制代码
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user 你的用户名 你的密码
rabbitmqctl set_user_tags 你的用户名 administrator

systemctl restart rabbitmq-server.service

服务器端口放行15672,用于rabbitmq的管理界面,访问服务器地址:15672即可。

安装rabbitmq-c

注意rabbitmq-c与php-amqp的版本与php版本有关,另外还要注意你的php是nts还是ts版本,如果amqp下载错了,安装后是无法被加载的。这里以php 7.1为例,在amqp官网确定amqp的版本是1.9.4,最后查看rabbitmq-c github文档确定rabbitmq-c版本为0.8.0。

复制代码
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

安装后,新建/etc/ld.so.conf.d/rabbitmq-c.conf,添加如下配置(按照网上文档,默认安装在/usr/local/rabbitmq-c-0.8.0):

复制代码
/usr/local/rabbitmq-c-0.8.0/lib

保存后,刷新配置:

复制代码
ldconfig

安装php-amqp

复制代码
wget http://pecl.php.net/get/amqp-1.9.4.tgz 
tar zxf amqp-1.9.4.tgz
cd amqp-1.9.4
/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

php.ini增加扩展配置(按照你的实际安装路径改),保存后重启你的php:

复制代码
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/amqp.so
相关推荐
岁岁种桃花儿几秒前
AI超级智能开发系列从入门到上天第十篇:SpringAI+云知识库服务
linux·运维·数据库·人工智能·oracle·llm
AttaGain27 分钟前
【Ubuntu配置VLAN网络】
linux·网络·ubuntu
ljh5746491191 小时前
Linux find命令
linux·运维·chrome
2501_943610361 小时前
我爱导航系统美化版源码网址导航系统带后台-【全开源】
前端·后端·html·php
纪伊路上盛名在1 小时前
Zerotier-Tailscale 自动化监控
linux·运维·自动化·内网穿透
我不是程序猿儿1 小时前
【嵌入式】适合 STM32 初学者BootLoader 入门学习心得
linux·stm32·单片机·嵌入式硬件·学习
培小新1 小时前
五、Dokcer网络
linux·运维·docker·容器
平凡的阳阳2 小时前
OpenClaw 2026.3.23 重大更新:千里通 Arm 架构 Linux 小主机完配“小龙虾”,开启轻量级 AI 新纪元
linux·arm开发·openclaw·小龙虾
孟函数2 小时前
进程:状态续写+进程的优先级
linux
python百炼成钢2 小时前
16_RK3588 Llama-3-8B模型部署
linux·服务器·人工智能·llama