Centos7下装置部署RabbitMQ-一文看尽 (centos7)
前言
RabbitMQ是一个开源的弱小的企业信息系统,支持干流的操作系统,支持多种开发言语。咱们名目中经常使用RabbitMQ作为信息队列,解耦业务,构建高牢靠的信息队列系统。RabbitMQ可以用在订单系统、日志系统、数据搜集等经常出现场景中。
本文咱们引见如何在上装置以后最新版的RabbitMQ:v3.8.1,以及如何经常使用来装置RabbitMQ。
装置RabbitMQ
装置RabbitMQ之前要装置Erlang,须要先到RabbitMQ官方看下版本对应相关。
以后最新版rabbitmq-server是3.8.14,最新版Erlang是23.x。咱们可以区分在和RabbitMQ官方下载对应的版本的rpm包。
下载Erlang的rpm包
访问Erlang的Github,如下:。
#下载地址
下载RabbitMQ的rpm包
访问RabbitMQ的官方,如下:。
#下载地址wget
下载好rpm包后,接上去咱们经常使用rpm启动装置。
经常使用rpm装置
首先装置依赖socat,装置Erlang时须要这个。
yuminstall-ysocat
接上去装置Erlang和RabbitMQ。
rpm-ivherlang-23.3.2-1.el7.x86_64.rpmrpm-ivhrabbitmq-server-3.8.14-1.el7.noarch.rpm
执行上述两行命令后,即成功了Erlang和RabbitMQ的装置,就这么繁难。
启动RabbitMQ:
systemctlstartrabbitmq-server
设置RabbitMQ开机自启动:
systemctlenablerabbitmq-server
RabbitMQ其余操作:
#检查启动后的状况rabbitmqctlstatus#封锁服务rabbitmqctlstop#重启rabbitmqsystemctlrestartrabbitmq-server#服务形态systemctlstatusrabbitmq-server#检查一切队列rabbitmqctllist_queues#肃清某个队列的数据rabbitmqctlpurge_queuequeueName#肃清一切队列数据以及用户数据、性能数据:慎用,记得要先把MQ的meta>rabbitmq-pluginsenablerabbitmq_management
执行如下:
2、新建一个用户名为admin,明码为admin的治理员,并授予治理(administrator)权限。
rabbitmqctladd_useradminadminrabbitmqctlset_user_tagsadminadministrator
执行如下:
3、设置admin可以经常使用的虚机权限。
rabbitmqctladd_vhostadminrabbitmqctlset_permissions-padminadmin".*"".*"".*"
执行如下:
4、插件治理:
#插件列表:rabbitmq-pluginslist#启动插件:rabbitmq-pluginsenableXXX(XXX为插件名)#停用插件:rabbitmq-pluginsdisableXXX
5、关上后盾web治理界面:
![一文看尽](https://tyye.cn/zb_users/theme/tpure/style/images/lazyload.png)
刚才咱们设置了admin用户,所以可以经常使用admin登录,也可以经常使用自动账号和明码都是guest登录。进入治理界面后可以看到:
经常使用账号/明码:admin/admin启动登录,如下:
咱们可以在后盾治理用户、队列等信息。
6、修正RabbitMQ自动端口
RabbitMQ自动开启了几个端口:
有时刻在消费环境下,咱们出于安保等要素宿愿修正掉自动的端口号。
咱们装置新版的RabbitMQ-3.8.x后,发现找不到它的性能文件,按常理,服务的端口开发都可以在性能文件里性能的。然而理想上RabbitMQ-3.8.1并没有生成性能文件,须要咱们手动参与性能文件。
[root@..]#ls/etc/rabbitmq/rabbitmq.confls:cannotaccess/etc/rabbitmq/rabbitmq.conf:Nosuchfileordirectory#须要手动参与
官方倡导性能文件的位置:/etc/rabbitmq/rabbitmq.conf
咱们如今要做的是把自动端口5672改成56720,并且准许远程访问。把web治理自动端口15672改成56271。只要如下性能:
#vim/etc/rabbitmq/rabbitmq.conf#AMQP0-9-1and1.0port,自动5672,准许远程访问listeners.tcp.default=0.0.0.0:56720#web治理,自动15672management.tcp.port=56721management.tcp.ip=0.0.0.0
执行如下:
保留,偏重启RabbitMQ服务。
systemctlrestartrabbitmq-serversystemctlstatusrabbitmq-server
使�stat-lntp检查端口监听状况:
7、其余性能
咱们可以到官方地址:,了解RabbitMQ的性能提升方面的性能。
经常使用Docker装置RabbitMQ
在开发环境中,咱们也可以间接经常使用Docker启动装置愈加繁难,上方咱们继续经常使用Docker来装置一遍。
首先,咱们得装置docker环境。
yuminstall-ydocker
检查docker的版本:
[root@serverdocker]#dockerversionClient:Version:1.13.1APIversion:1.26Packageversion:docker-1.13.1-208.git7d71120.el7_9.x86_64Goversion:go1.10.3Gitcommit:7d71120/1.13.1Built:MonJun715:36:092021OS/Arch:/amd64Server:Version:1.13.1APIversion:1.26(minimumversion1.12)Packageversion:docker-1.13.1-208.git7d71120.el7_9.x86_64Goversion:go1.10.3Gitcommit:7d71120/1.13.1Built:MonJun715:36:092021OS/Arch:linux/amd64Experimental:false[root@serverdocker]#
搜查RabbitMQ镜像:
[root@~]#dockersearchrabbitmqNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDrabbitmqRabbitMQisanopensourcemulti-protocolme…3703[OK]bitnami/rabbitmqBitnamiDockerImageforRabbitMQ62[OK]tutum/rabbitmqBasedockerimagetorunaRabbitMQserver22kbudde/rabbitmq-exporterrabbitmq_exporterforprometheus15[OK]frodenas/rabbitmqADockerImageforRabbitMQ12[OK]cyrilix/rabbitmq-mqttRabbitMQMQTTAdapter9[OK]arm32v7/rabbitmqRabbitMQisanopensourcemulti-protocolme…7
拉取RabbitMQ镜像:
dockerpulldocker.io/rabbitmq
而后检查镜像:
[root@serverdocker]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEdocker.io/rabbitmqlatestba647756d55a3daysago221MB[root@serverdocker]#
而后运转容器:
dockerrun--namerabbitmq-d-p5672:5672-p15672:15672-v/data:/var/lib/rabbitmqdocker.io/rabbitmq
整顿写一个重启服务脚本:
[root@serverdocker_rabbitmq]#catrestart_service.sh#!/bin/shbasedir=`pwd`>[root@serverdocker_rabbitmq]#dockerpsCONTNERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESb959544500f4docker.io/rabbitmq"docker-entrypoint..."2secondsagoUp1second4369/tcp,0.0.0.0:5672->5672/tcp,5671/tcp,15691-15692/tcp,25672/tcp,0.0.0.0:15672->15672/tcprabbitmq
这样,一个RabbitMQ的docker环境就装好了。
在Docker性能RabbitMQ
1、启用网页版后盾治理插件:
rabbitmq-pluginsenablerabbitmq_management
执行如下:
[root@serverdocker_rabbitmq]#dockerexec-itrabbitmqbashroot@b959544500f4:/#rabbitmq-pluginsenablerabbitmq_managementEnablingpluginsonnoderabbit@b959544500f4:rabbitmq_managementThefollowingpluginshavebeenconfigured:rabbitmq_managementrabbitmq_management_agentrabbitmq_prometheusrabbitmq_web_dispatchApplyingpluginconfigurationtorabbit@b959544500f4...Thefollowingpluginshavebeenenabled:rabbitmq_managementstarted1plugins.root@b959544500f4:/#
此时可以经过阅读器访问治理页:
可以经过自动的账号guest/guest登录如下:
2、新建一个用户名为admin,明码为admin的治理员,并授予治理(administrator)权限。
rabbitmqctladd_useradminadminrabbitmqctlset_user_tagsadminadministrator
执行如下:
root@b959544500f4:/#rabbitmqctladd_useradminadminAddinguser"admin"...Done.Don'tforgettogranttheuserpermissionstosomevirtualhosts!See'rabbitmqctlhelpset_permissions'tolearnmore.root@b959544500f4:/#root@b959544500f4:/#rabbitmqctlset_user_tagsadminadministratorSettingtagsforuser"admin"to[administrator]...root@b959544500f4:/#
3、设置admin可以经常使用的虚机权限。
rabbitmqctladd_vhostadminrabbitmqctlset_permissions-padminadmin".*"".*"".*"
执行如下:
root@b959544500f4:/#rabbitmqctladd_vhostadminAddingvhost"admin"...root@b959544500f4:/#rabbitmqctlset_permissions-padminadmin".*"".*"".*"Settingpermissionsforuser"admin"invhost"admin"...root@b959544500f4:/#
4、插件治理:
#插件列表:rabbitmq-pluginslist#启动插件:rabbitmq-pluginsenableXXX(XXX为插件名)#停用插件:rabbitmq-pluginsdisableXXX
5、性能门路说明
rabbit的性能文件目录:/etc/rabbitmqrabbit的数据文件目录:/var/lib/rabbitmqrabbit的日志文件目录:/var/log/rabbitmq
假设须要继续化,可以挂在这些门路:
#创立挂在门路mkdir-p~/rabbitmq/{etc,lib,var/{lib,log}}#启动容器dockerrun-d-p1883:1883-p4369:4369-p5671:5671-p5672:5672-p15672:15672-p25672:25672-p61613:61613-p61614:61614-v~/rabbitmq/etc:/etc/rabbitmq-v~/rabbitmq/lib:/var/lib/rabbitmq-v~/rabbitmq/log:/var/log/rabbitmq--namerabbitrabbitmq:management
后盾治理的经常使用
1、用户角色
前面咱们经常使用命令行创立了一个admin用户,也可以在页面上创立,如下:
在这里可以选用不同的角色来创立用户。
角色说明:
超级治理员(administrator)
可登陆治理控制台,可检查一切的信息,并且可以对用户,战略(policy)启动操作。
监控者(monitoring)
可登陆治理控制台,同时可以检查rabbitmq节点的相关信息(进程数,内存经常使用状况,磁盘经常使用状况等)
战略制订者(policymaker)
可登陆治理控制台,同时可以对policy启动治理。但不可检查节点的相关信息(上图红框标识的局部)。
个别治理者(management)
仅可登陆治理控制台,不可看到节点信息,也不可对战略启动治理。
其余
不可登陆治理控制台,通常就是个别的消费者和消费者。
2、创立vhost并授权给用户
3、开启management_agent插件
上方切换libai这个用户登录一下,如下:
提示了这个告警:
StatsinmanagementUIaredisabledonthisnode
处置措施:
#进入rabbitmq容器dockerexec-it{rabbitmq容器称号或许id}/bin/bash#进入容器后,cd到以下门路cd/etc/rabbitmq/conf.d/#修正management_agent.disable_metrics_collector=falseechomanagement_agent.disable_metrics_collector=false>management_agent.disable_metrics_collector.conf#分开容器exit#重启rabbitmq容器dockerretart{rabbitmq容器id}
上方咱们执行如下:
#进入性能目录root@b959544500f4:/#cd/etc/rabbitmq/conf.d/root@b959544500f4:/etc/rabbitmq/conf.d#ls10-default-guest-user.confmanagement_agent.disable_metrics_collector.confroot@b959544500f4:/etc/rabbitmq/conf.d##检查以后的性能root@b959544500f4:/etc/rabbitmq/conf.d#catmanagement_agent.disable_metrics_collector.confmanagement_agent.disable_metrics_collector=true#修正性能root@b959544500f4:/etc/rabbitmq/conf.d#echomanagement_agent.disable_metrics_collector=false>management_agent.disable_metrics_collector.confroot@b959544500f4:/etc/rabbitmq/conf.d##检查修正后的性能root@b959544500f4:/etc/rabbitmq/conf.d#catmanagement_agent.disable_metrics_collector.confmanagement_agent.disable_metrics_collector=falseroot@b959544500f4:/etc/rabbitmq/conf.d#root@b959544500f4:/etc/rabbitmq/conf.d#exitexit[root@serverdocker_rabbitmq]#ls/>
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。