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
相关推荐
Z_Xshan15 分钟前
docker 容器web站点 中文文件名访问404问题
linux·开发语言·docker
晓梦.1 小时前
Linux
linux·运维·服务器
运维帮手大橙子1 小时前
Linux如何安装使用Rust指南
linux·运维·rust
千百元1 小时前
centos怎么查看磁盘是机械还是固态
linux·运维·centos
LoneEon1 小时前
CentOS 7 系统安装教程
linux·运维·centos
ssswywywht2 小时前
搭建本地时间同步服务器
linux·运维·服务器
你想考研啊2 小时前
自动化部署脚本
linux·服务器·自动化
好玩的Matlab(NCEPU)2 小时前
Redis vs RabbitMQ 对比总结
数据库·redis·rabbitmq
超Pro2 小时前
MAC M芯片安装配置VMware+Ubuntu
linux·ubuntu
熙xi.2 小时前
Linux I²C 总线驱动开发:从架构到实战的完整指南
linux·c语言·驱动开发