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
相关推荐
HalvmånEver1 小时前
Linux:命名管道实现IPC(进程间通信七)
linux·运维·服务器·ipc·命名管道·管道pipe
正在学习前端的---小方同学7 小时前
Harbor部署教程
linux·运维
Sean X8 小时前
Ubuntu24.04安装向日葵
linux·ubuntu
电商API&Tina10 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
IT 乔峰10 小时前
脚本部署MHA集群
linux·shell
dz小伟10 小时前
execve() 系统调用深度解析:从用户空间到内核的完整加载过程
linux
Mr_Xuhhh10 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器
JoyCheung-10 小时前
Free底层是怎么释放内存的
linux·c语言
旖旎夜光11 小时前
Linux(9)
linux·学习
喵了meme12 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习