CentOS7下怎么搭建RabbitMQ(centos,rabbitmq,开发技术)

时间:2024-05-05 18:23:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

RabbitMQ是一种消息队列 ,用于常见的进程通信。支持点对点,请求应答和发布订阅模式 并且提供多种语言的支持。常见的java,c#,php都支持。

CentOS7下怎么搭建RabbitMQ

RabbitMQ 安装

#InstallfromEPEL[root@vdevops~]#yum--enablerepo=epel-yinstallrabbitmq-server[root@vdevops~]#systemctlstartrabbitmq-server[root@vdevops/]#journalctl-xeNov1201:30:01vdevops.orgCROND[3856]:(root)CMD(/usr/lib64/sa/sa111)Nov1201:30:04vdevops.orgrabbitmqctl[3831]:DIAGNOSTICSNov1201:30:04vdevops.orgrabbitmqctl[3831]:===========Nov1201:30:04vdevops.orgrabbitmqctl[3831]:attemptedtocontact:[rabbit@vdevops]Nov1201:30:04vdevops.orgrabbitmqctl[3831]:rabbit@vdevops:Nov1201:30:04vdevops.orgrabbitmqctl[3831]:*unabletoconnecttoepmd(port4369)onvdevops:timeout(timedout)Nov1201:30:04vdevops.orgrabbitmqctl[3831]:currentnodedetails:Nov1201:30:04vdevops.orgrabbitmqctl[3831]:-nodename:rabbitmqctl3831@vdevopsNov1201:30:04vdevops.orgrabbitmqctl[3831]:-homedir:/var/lib/rabbitmqNov1201:30:04vdevops.orgrabbitmqctl[3831]:-cookiehash:s++dDMtIhAufFItw+ercBw==Nov1201:30:04vdevops.orgpolkitd[1007]:UnregisteredAuthenticationAgentforunix-process:3798:36632(systembusname:1.23,objectpath/org/freedesktop/PolicyKit1/AuthenticationAgent,localeen_US.UTF-8)(disconnectedfNov1201:30:04vdevops.orgsystemd[1]:rabbitmq-server.service:controlprocessexited,code=exitedstatus=2Nov1201:30:04vdevops.orgsystemd[1]:FailedtostartRabbitMQbroker.--Subject:Unitrabbitmq-server.servicehasfailed--Defined-By:systemd--Support:http://lists.freedesktop.org/mailman/listinfo/systemd-devel----Unitrabbitmq-server.servicehasfailed.----Theresultisfailed.Nov1201:30:04vdevops.orgsystemd[1]:Unitrabbitmq-server.serviceenteredfailedstate.Nov1201:30:04vdevops.orgsystemd[1]:rabbitmq-server.servicefailed.Nov1201:30:42vdevops.orgsystemd[1]:Gotautomountrequestfor/proc/sys/fs/binfmt_misc,triggeredby3860(find)Nov1201:30:42vdevops.orgsystemd[1]:MountingArbitraryExecutableFileFormatsFileSystem...--Subject:Unitproc-sys-fs-binfmt_misc.mounthasbegunstart-up--Defined-By:systemd--Support:http://lists.freedesktop.org/mailman/listinfo/systemd-devel----Unitproc-sys-fs-binfmt_misc.mounthasbegunstartingup.Nov1201:30:42vdevops.orgsystemd[1]:MountedArbitraryExecutableFileFormatsFileSystem.--Subject:Unitproc-sys-fs-binfmt_misc.mounthasfinishedstart-up--Defined-By:systemd--Support:http://lists.freedesktop.org/mailman/listinfo/systemd-devel----Unitproc-sys-fs-binfmt_misc.mounthasfinishedstartingup.----Thestart-upresultisdone.

rabbitmq-server启动报错:Failed to start RabbitMQ broker

度娘解析:主机hostname配置错误,原本hostname为vdevops.org,更改为vdevops,修改hosts文件中hostname设置

[root@vdevops/]#hostnamectlset-hostnamevdevops#hostname更改重启启动rabbitmq-server[root@vdevops/]#systemctlstatusrabbitmq-server●rabbitmq-server.service-RabbitMQbrokerLoaded:loaded(/usr/lib/systemd/system/rabbitmq-server.service;disabled;vendorpreset:disabled)Active:active(running)sinceSat2016-11-1201:32:41CST;3min58sagoProcess:3831ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctlstop(code=exited,status=2)MainPID:3891(beam)CGroup:/system.slice/rabbitmq-server.service├─3891/usr/lib64/erlang/erts-5.10.4/bin/beam-Ww-Ktrue-A30-P1048576---root/usr/lib64/erlang-prognameerl---home/var/lib/rabbitmq---pa/usr/lib/rabbitmq/lib/rabbitmq_server-3.3.5/sbin/../ebin-nos...├─3908/usr/lib64/erlang/erts-5.10.4/bin/epmd-daemon├─3963inet_gethost4└─3964inet_gethost4Nov1201:32:39vdevopssystemd[1]:StartingRabbitMQbroker...Nov1201:32:39vdevopssystemd[1]:rabbitmq-server.service:GotnotificationmessagefromPID3908,butreceptiononlypermittedformainPID3891Nov1201:32:40vdevopsrabbitmq-server[3891]:RabbitMQ3.3.5.Copyright(C)2007-2014GoPivotal,Inc.Nov1201:32:40vdevopsrabbitmq-server[3891]:####LicensedundertheMPL.Seehttp://www.rabbitmq.com/Nov1201:32:40vdevopsrabbitmq-server[3891]:####Nov1201:32:40vdevopsrabbitmq-server[3891]:##########Logs:/var/log/rabbitmq/rabbit@vdevops.logNov1201:32:40vdevopsrabbitmq-server[3891]:########/var/log/rabbitmq/rabbit@vdevops-sasl.logNov1201:32:40vdevopsrabbitmq-server[3891]:##########Nov1201:32:41vdevopssystemd[1]:StartedRabbitMQbroker.Nov1201:32:41vdevopsrabbitmq-server[3891]:Startingbroker...completedwith0plugins.[root@vdevops~]#systemctlenablerabbitmq-serverCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/rabbitmq-server.serviceto/usr/lib/systemd/system/rabbitmq-server.service.

防火墙设置

[root@linuxprobe~]#firewall-cmd--add-port=5672/tcp--permanentsuccess[root@linuxprobe~]#firewall-cmd--reloadsuccess

要使用RabbitMQ,请先添加用户

[root@vdevops~]#rabbitmqctladd_userlinuxprobepasswordCreatinguser"linuxprobe"......done.[root@vdevops~]#rabbitmqctllist_usersListingusers...guest[administrator]linuxprobe[]...done.#grantingadminroletoauserislikefollows[root@vdevops~]#rabbitmqctlchange_passwordlinuxprobestrongpasswordChangingpasswordforuser"linuxprobe"......done.#grantingadminroletoauserislikefollows[root@vdevops~]#rabbitmqctlset_user_tagslinuxprobeadministratorSettingtagsforuser"linuxprobe"to[administrator]......done.#deletingauserislikefollows[root@vdevops~]#rabbitmqctldelete_userlinuxprobeDeletinguser"linuxprobe"......done.

要使用RabbitMQ,也要添加虚拟主机

[root@vdevops~]#rabbitmqctladd_vhost/my_vhostCreatingvhost"/my_vhost"......done.[root@vdevops~]#rabbitmqctllist_vhostsListingvhosts...//my_vhost...done.[root@vdevops~]#rabbitmqctldelete_vhost/my_vhostDeletingvhost"/my_vhost"......done.

给虚拟主机的用户授予权限,请如下配置

#rabbitmqctlset_permissions[-pvhost][user][permission?(modify)(write)(read)][root@vdevops~]#rabbitmqctlset_permissions-p/my_vhostlinuxprobe".*"".*"".*"Settingpermissionsforuser"linuxprobe"invhost"/my_vhost"......done.#[root@vdevops~]#rabbitmqctllist_user_permissionslinuxprobeListingpermissionsforuser"linuxprobe".../my_vhost.*.*.*...done.#deletingpermissionofaspecificuserislikefollows[root@vdevops~]#rabbitmqctlclear_permissions-p/my_vhostlinuxprobeClearingpermissionsforuser"linuxprobe"invhost"/my_vhost"......done.

RabbitMQ:使用Web UI

[root@vdevops~]#rabbitmq-pluginsenablerabbitmq_managementThefollowingpluginshavebeenenabled:mochiwebwebmachinerabbitmq_web_dispatchamqp_clientrabbitmq_management_agentrabbitmq_managementPluginconfigurationhaschanged.RestartRabbitMQforchangestotakeeffect.[root@vdevops~]#systemctlrestartrabbitmq-server

客户端访问

http://vdevops:15672/

rabbitmqadmin使用

可以配置RabbitMQ使用rabbitmqadmin命

在Web UI上下载rabbitmqadmin。 登录到Web UI并移动到“http://(主机名或IP地址):15672 / cli”,然后显示以下屏幕,您可以在这里下载rabbitmqadmin,点击here右键保存rabbitmqadmin.txt,然后上传到服务器上面更改为rabbitmqadmin,并添加执行权限

将rabbitmqadmin上传到RabbitMQ服务器并设置合适的权限,此示例显示如下设置

[root@localhost~]#ll/usr/local/bin/rabbitmqadmin-rwxr-xr-x.1rootroot36112Nov1117:23/usr/local/bin/rabbitmqadmin[root@vdevopsbin]#rabbitmqadminlistusers+------------+------------------------------+---------------+|name|password_hash|tags|+------------+------------------------------+---------------+|guest|k2rhpzCrZBKkY5WRhUWrGm5DCkg=|administrator||linuxprobe|P+YxK1QXIYrJpek5i//rPjn5SME=|administrator|+------------+------------------------------+---------------+[root@vdevopsbin]#cd[root@vdevops~]#rabbitmqadminlistusers+------------+------------------------------+---------------+|name|password_hash|tags|+------------+------------------------------+---------------+|guest|k2rhpzCrZBKkY5WRhUWrGm5DCkg=|administrator||linuxprobe|P+YxK1QXIYrJpek5i//rPjn5SME=|administrator|+------------+------------------------------+---------------+[root@vdevops~]#rabbitmqadminlistvhosts+-----------+---------+|name|tracing|+-----------+---------+|/|False||/my_vhost|False|+-----------+---------+
[root@vdevops~]#rabbitmqadmindeclareusername=centospassword=passwordtags=administratoruserdeclared[root@vdevops~]#rabbitmqadmindeclarepermissionvhost=/vhost01user=centosconfigure=".*"write=".*"read=".*"***vhost_or_user_not_found[root@vdevops~]#rabbitmqadmindeclarevhostname=/vhost01vhostdeclared[root@vdevops~]#rabbitmqadmindeclarepermissionvhost=/vhost01user=centosconfigure=".*"write=".*"read=".*"permissiondeclared[root@vdevops~]#rabbitmqadmin-V/vhost01-ucentos-ppassworddeclarequeuename=my_queue01queuedeclared[root@vdevops~]#rabbitmqadmin-V/vhost01-ucentos-ppasswordpublishrouting_key=my_queue01payload='HelloRabbitMQWorld!'exchange=amq.defaultMessagepublished[root@vdevops~]#rabbitmqadmin-V/vhost01-ucentos-ppasswordgetqueue=my_queue01requeue=false+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+|routing_key|exchange|message_count|payload|payload_bytes|payload_encoding|properties|redelivered|+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+|my_queue01||0|HelloRabbitMQWorld!|21|string||False|+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+[root@vdevops~]#rabbitmqadmin-V/vhost01-ucentos-ppasswordpublishrouting_key=my_queue01payload='HelloLinuxProbe!'exchange=amq.defaultMessagepublished[root@vdevops~]#rabbitmqadmin-V/vhost01-ucentos-ppasswordgetqueue=my_queue01requeue=false+-------------+----------+---------------+-------------------+---------------+------------------+------------+-------------+|routing_key|exchange|message_count|payload|payload_bytes|payload_encoding|properties|redelivered|+-------------+----------+---------------+-------------------+---------------+------------------+------------+-------------+|my_queue01||0|HelloLinuxProbe!|17|string||False|+-------------+----------+---------------+-------------------+---------------+------------------+------------+-------------+
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:CentOS7下怎么搭建RabbitMQ的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:CentOS7上怎么修改主机名下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18