前言:
如今我们对“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如何安装