Debian系统RabbitMQ安装及配置

由于本地服务器相关系统的需要,考量良久,RabbitMQ与其它类似的队列服务提供商而言,没有什么突出优势,也没有什么突出劣势。使得它进入了考虑范围,并最终确认使用。系统是Debian 10,那么我们开始吧…

RabbitMQ的服务安装非常的简单,主要分为几步:导入APT KEY -> 添加软件源 -> 安装erlang -> 安装RabbitMQ -> 配置及启用

导入Apt Key:

 wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
 apt-key add rabbitmq-signing-key-public.asc

添加软件源:
vi /etc/apt/sources.list
增加如下软件源:
deb https://dl.bintray.com/rabbitmq-erlang/debian buster erlang-23.x
deb https://dl.bintray.com/rabbitmq/debian buster main
添加之后按下esc键,之后输入:wq保存。
保存后更新软件源信息,使用apt update进行更新

添加之后嘛,就需要先安装ERLang了。当然,你也可以直接一步到位安装RabbitMQ,ERLANG会被关联安装,但在安装过程中可能会出现什么莫名其妙的问题。所以建议您还是先装ERLang,装完重启后再装RabbitMQ。使用如下命令安装ERLang:
apt install erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
安装完成后,记得reboot重启一下哦。

ERLang安装完并重启之后,就剩下RabbitMQ的安装了。其实跟ERLang一样,也非常简单,执行如下指令便可完成:
apt install rabbitmq-server
记得按下Y确认安装哦

以上便完成了RabbitMQ的安装工作了,剩下的便是基本的配置和使用了。

首先,一定是配置RabbitMQ的数据库和日志存储位置了,使用
vi /etc/rabbitmq/rabbitmq-env.conf
编辑RabbitMQ的基本配置信息,我一般会添加如下配置
RABBITMQ_MNESIA_BASE=/opt/RabbitMQ/Mnesia #数据库保存路径
RABBITMQ_MNESIA_DIR=/opt/RabbitMQ/Mnesia # 数据库保存路径
RABBITMQ_LOG_BASE=/opt/RabbitMQ/log #日志保存路径

配置完上面的,就启动服务准备配置里面的吧。
systemctl start rabbitmq-server
执行如上指令便启动了服务了,剩下的配置工作列举一下。
添加用户: rabbitmqctl add_user admin “abc12345”
设置类型: rabbitmqctl set_user_tags admin administrator
设置目录: rabbitmqctl set_permissions admin / “.*” “.*” “.*”
然后呢?当然还需要开启下web访问了,如下指令:
开启WEB管理: rabbitmq-plugins enable rabbitmq_management
如此,便可以通过ip:15672端口访问来管理了。
建议把默认的用户guest删掉。

以上配置完后,便完成了RabbitMQ服务端的安装及配置工作了。目前安装的ERLang版本是23.0,RabbitMQ的版本是3.8.5,都是最新版。
下面呢,我们需要开始RabbitMQ插件amqp的安装了。

由于博主的RabbitMQ主要应用于PHP开发环境,所以需要为PHP安装AMQP扩展。自pecl.php.net查询得到最新的amqp包为amqp-1.10.2,直接上最新。由于amqp需要结合librabbitmq-c包,所以寻觅得最新的rabbitmq-c包为rabbitmq-c v0.10.0。下下下,我全都下…
amqp: https://pecl.php.net/get/amqp-1.10.2.tgz
rabbitmq-c: https://github.com/alanxz/rabbitmq-c/archive/v0.10.0.tar.gz

一同操作猛如虎,一看战绩下好了。下好了就好,剩下的就是编译进PHP然后启用了。

首先编译的是rabbitmq-c,由于rabbitmq-c只能用cmake编译,所以编译会稍显麻烦。使用如下指令:
cd到rabbitmq-c的源码目录后,mkdir build & cd build创建一个build文件夹,而后进入其中。
执行 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c .. 进行编译;完成后使用 cmake –build . –target install进行安装。
但你以为如此就完成了嘛?不不不,如果这样就不管了,那么你会在之后的amqp编译中碰到找不到lrabbitmq库的错误。你还需要进入/usr/local/rabbitmq-c目录,而后进入lib目录,看到没?相关的库包文件并不在里面,而在它下面的x86_64-linux-gnu目录里。这便是找不到lrabbitmq库错误的源头。进入x86_64-linux-gnu目录,而后执行 cp -R * ../。之后再到/usr/local/rabbitmq-c目录执行cp -R lib lib64做一个64位的备份。
如此便完成了rabbitmq-c的编译安装了。下面愉快的开始amqp的安装吧

其实AMQP编译安装挺简单的,跟其它的php插件没什么差别。解压缩之后进入到源码目录里,执行如下指令
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-amqp –with-librabbitmq-dir=/usr/local/rabbitmq-c
make & make install
如此便轻松完成了该插件的编译和安装工作。剩下的便是到php.ini文件里启用它便可。
extension=amqp.so

以上,便完成了RabbitMQ的完整安装了。安装环境为Debian10 buster,PHP环境为最新的7.4。
安装的ERLang为23.0,RabbitMQ版本为3.8.5,安装的AMQP版本为1.10,rabbitmq-c版本为0.10。
所有的版本基本上都是截至文章最新的,毕竟要支持开发者的工作嘛。
若有什么表述不清晰的地方,还请留言一起交流…

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注