龙空技术网

RabbitMQ安装及简单操作

IT运维笔记 175

前言:

如今我们对“python安装rabbitmq”都比较讲究,朋友们都需要学习一些“python安装rabbitmq”的相关内容。那么小编也在网络上网罗了一些关于“python安装rabbitmq””的相关资讯,希望兄弟们能喜欢,姐妹们一起来了解一下吧!

一、概述

RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。

官网:

下载:

二、说明

安装RabbitMQ server需要Erlang语言环境,请参考,本文中不再赘述安装配置步骤。

本文介绍在CentOS7.8 x64(测试服务器IP:192.168.168.100)系统下,使用二进制包源码包编译安装最新(截止2021年4月14日)版本,版本号为3.8.14。

三、二进制包安装

1.下载安装

cd /data/toolswget  xf rabbitmq-server-generic-unix-3.8.14.tar.xzmv rabbitmq_server-3.8.14 /usr/local/cd /usr/localchown -R root.root rabbitmq_server-3.8.14ln -sf rabbitmq_server-3.8.14 rabbitmq

2.环境变量配置

vi /etc/profile

//末尾添加如下内容

######SET RabbitMQ Environmentexport PATH=$PATH:/usr/local/rabbitmq/sbin

//生效环境变量

source /etc/profile

四、源码包编译安装

1.依赖安装

①基础依赖

yum -y install git libxslt libxslt-devel rsync xmlto zip unzip

②动态的功能语言elixir

官网:

Github仓库地址:

cd /data/toolsgit clone -b v1.11.4  elixirmake clean testmake install

2.下载编译安装

cd /data/toolswget  xf rabbitmq-server-3.8.14.tar.xzcd rabbitmq-server-3.8.14

## 使用make && make install进行编译安装,RabbitMQ会安装到 /usr/local/lib/erlang/lib/rabbitmq_server-x.x.x/,试着修改编译时的参数,都不能达到改变安装目录,最后找到下面方法

## 找到源文件目录下的Makefile文件

vi Makefile 

//修改如下配置项

PREFIX ?= /usr/local WINDOWS_PREFIX ?= rabbitmq-server-windows-$(PROJECT_VERSION)MANDIR ?= $(PREFIX)/share/manRMQ_ROOTDIR ?= $(PREFIX)/lib/erlangRMQ_BINDIR ?= $(RMQ_ROOTDIR)/binRMQ_LIBDIR ?= $(RMQ_ROOTDIR)/libRMQ_ERLAPP_DIR ?= $(RMQ_LIBDIR)/rabbitmq_server-$(PROJECT_VERSION)RMQ_AUTOCOMPLETE_DIR ?= $(RMQ_ROOTDIR)/autocomplete将以上配置项的内容修改为如下内容PREFIX ?= /usr/local/rabbitmq-3.8.14WINDOWS_PREFIX ?= rabbitmq-server-windows-$(PROJECT_VERSION)MANDIR ?= $(PREFIX)/share/manRMQ_ROOTDIR ?= $(PREFIX)RMQ_BINDIR ?= $(RMQ_ROOTDIR)/sbinRMQ_LIBDIR ?= $(RMQ_ROOTDIR)RMQ_ERLAPP_DIR ?= $(RMQ_LIBDIR)RMQ_AUTOCOMPLETE_DIR ?= $(RMQ_ROOTDIR)/autocomplete

//再执行编译安装命令

makemake installcd /usr/local/## 创建软连接,方便管理ln -sf rabbitmq-3.8.14 rabbitmq

3.环境变量配置

vi /etc/profile 

//末尾添加如下内容

######SET RabbitMQ Environmentexport PATH=$PATH:/usr/local/rabbitmq/sbin

//生效环境变量

source /etc/profile

五、服务管理说明

cd /usr/local/rabbitmq/sbin

启动:

./rabbitmq-server -detached

//参数 -detached 表示后台启动

./rabbitmq-server start &

./rabbitmq-server &

关闭:./rabbitmqctl stop

查看服务状态:./rabbitmqctl status

若已配置环境变量,则不需要进入安装目录,直接运行命令即可启动或关闭服务。

启动:

rabbitmq-server -detached

//参数 -detached 表示后台启动

rabbitmq-server start &

rabbitmq-server &

关闭:rabbitmqctl stop

查看服务状态:rabbitmqctl status

备注:启动命令后若不加参数 -detached,如使用./rabbitmq-server 或 ./rabbitmq-server start 或 rabbitmq-server 或rabbitmq-server start,会一直显示着启动信息,无法正常退出到命令操作界面,需强制退出当前终端,这样也会关闭rabbitmq服务。

默认监听端口:5672、25672

配置开机启动:echo '/usr/local/rabbitmq/sbin/rabbitmq-server &' >> /etc/rc.local

六、插件安装

本文只介绍WEB插件及延时队列的安装步骤,其他插件的安装亦可参考这两个来完成安装。

1.WEB管理

①安装

mkdir -p /etc/rabbitmq 

//此目录必须手动创建,且不能改成别的路径和目录名

rabbitmq-plugins enable rabbitmq_management

重启RabbitMQ服务

查看启动是否成功: netstat -tunlp | grep beam

可以看到启动成功: 15672是rabbimq网页管理监听端口,5672是客户端使用的端口。management UI是static HTML页面,其通过Javascript查询HTTP API得到实时数据。实质上Web UI最终也是调用的Management command line tool。

②添加账号并配置管理权限

访问,此时默认帐号guest/guest无法登录访问,因为默认的guest账号只能在本地机器访问, 如果想在其它机器访问必须配置其它账号。

## 添加帐号rabbitmqctl add_user admin 123456## 赋予管理员权限rabbitmqctl set_user_tags admin administrator## 添加权限rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

说明:添加帐号命令执行完成的提示是提醒要给帐号授权。

③访问WEB页面

地址栏输入:,本文为

注:服务器防火墙开启的状态下需要放开端口,或者关闭防火墙。

## 输入账号admin,密码123456,登录

## 登录后,可查看到相关的基础信息

④删除guest账户

rabbitmqctl delete_user guest

2.延时消息队列

cd /usr/local/rabbitmq/pluginswget  enable rabbitmq_delayed_message_exchange

重启RabbitMQ服务

3.查看已启用的插件

rabbitmq-plugins list

七、常用功能命令说明

RabbitMQ服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

1.服务器启动与关闭

启动:rabbitmq-server –detached

关闭:rabbitmqctl stop

若单机有多个实例,则在rabbitmqctl后加 –n 指定名称

2.插件管理

开启某个插件:rabbitmq-plugins enable xxx

关闭某个插件:rabbitmq-plugins disable xxx

查看已经安装的插件:rabbitmq-plugins list

注意:重启服务器后生效。

启用监控插件:./rabbitmq-plugins enable rabbitmq_management

关闭监控插件:./rabbitmq-plugins disable rabbitmq_management

3.virtual_host管理

新建virtual_host:rabbitmqctl add_vhost xxx

撤销virtual_host:rabbitmqctl delete_vhost xxx

4.用户管理

新建用户:rabbitmqctl add_user {username} {password}

删除用户:rabbitmqctl delete_user {username}

改密码:rabbimqctl change_password {username} {newpassword}

设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}

Tag可以为 administrator,monitoring, management

查看当前用户列表:rabbitmqctl list_users

赋予超级管理员权限:rabbitmqctl set_user_tags newuser administrator

5. 权限管理

权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}

参数说明:

Vhostpath: Vhost路径

user: 用户名

Conf: 一个正则表达式match哪些配置资源能够被该用户访问。

Write: 一个正则表达式match哪些配置资源能够被该用户读。

Read:一个正则表达式match哪些配置资源能够被该用户访问。

6. 获取服务器状态信息

服务器状态:rabbitmqctl status

队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]

Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,

messages_unacknowledged,messages,consumers,memory

Exchange信息:rabbitmqctl list_exchanges[-p vhostpath] [exchangeinfoitem ...]

Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.

Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]

Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]

Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

Channel信息:rabbitmqctl list_channels[channelinfoitem ...]

Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

标签: #python安装rabbitmq #rabbitmq如何安装