CentOS 7下安装配置RabbitMQ详细教程 虚拟机安装

<!--安装ifconfig-->

yuminstallnet-tools

<!--安装vim-->

yuminstallyum

<!--准备基础编译环境-->

yuminstallgccglibc-develmakencurses-developenssl-develxmlto

前面三步是安装必做的,还有些坑是版本号没对应上,erlang版本和rabbitMQ的版本必须一致,这个MQ官网有介绍,就是这个坑查找了一天时间。差点放弃

接下来我们从官网下载安装包rabbitmq-server-3.7.2-1.el7.noarch.rpm和otp_src_20.1.tar.gz(千万别问我Erlang是什么,我也是第一次知道这门语言)。上传到虚拟机后执行命令:

wgethttp://erlang.org/download/otp_src_20.1.tar.gz直接可以这样下载

rabbitmq-server-3.7对应otp_src_20版本以上,19.3版本好像也可以

这是我自己下载的MQ版本

https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.6

<!--解压包-->

[root@localhost/]#tar-xvfotp_src_20.1.tar.gz

[root@localhost/]#ll

创建一个新目录,用来编译安装erlang,并且要安装JDK后面编译用到

[root@~]#mkdir/usr/local/erlang

[root@localhost~]#cdotp_src_20.1

[root@localhostotp_src_20.1]#./configure--prefix=/usr/local/erlang--without-javac

[root@localhostotp_src_20.1]#make&&makeinstall

编译&安装完成以后配置Erlang环境变量:

[root@localhost/]#vim/etc/profile

#追加环境变量到文件末尾

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

exportERL_HOMEPATH

[root@localhost/]#source/etc/profile

[root@localhost/]#rpm-ivh--nodepsrabbitmq-server-3.7.6-1.el7.noarch.rpm

这个是rabbitMQ环境变量,参考网上有些人没有安装,我也没有配置

exportPATH=$PATH:/opt/rabbitmq/sbin

#使得文件生效

source/etc/profile

运行RabbitMQ需要首先开放15672和5672端口:

[root@localhost]#firewall-cmd--zone=public--add-port=15672/tcp--permanent

[root@localhost]#firewall-cmd--zone=public--add-port=5672/tcp--permanent

[root@localhost]#firewall-cmd--reload

下面这样就添加成功

[root@localhost/]#firewall-cmd--zone=public--add-port=15672/tcp--permanent

success

[root@localhost/]#firewall-cmd--zone=public--add-port=5672/tcp--permanent

success

[root@localhost/]#firewall-cmd--reload

success

如果一切正常的话RabbitMQ已经安装完成,最后测试一下:

[root@localhost/]#rabbitmq-pluginsenablerabbitmq_management

坑来了,直接报错

[error]Errorwhenreading/var/lib/rabbitmq/.erlang.cookie:eacces

说是权限问题加入

chownrabbitmq:rabbitmq/var/lib/rabbitmq/.erlang.cookie

然后再报错

Thefollowingpluginshavebeenenabled:

mochiweb

webmachine

rabbitmq_web_dispatch

amqp_client

rabbitmq_management_agent

rabbitmq_management

Applyingpluginconfigurationtorabbit@.....

意思是不能提交需要开启节点

[root@localhostsbin]#./rabbitmqctlstart_app

这一步非常诡异,创建节点的时候,其实是报错,Error:unabletoperformanoperationonnode'rabbit@localhost'.Pleaseseediagnosticsinformationandsuggestionsbelow.不明白啥原因

再次启动

./rabbitmq-pluginsenablerabbitmq_management

然后直接后台启动服务,只是有一个写入警告,这些操作有可能是服务启动延时造成,虚拟机启动需要,之前有可能是等待时间太短,不断的重启导致错误。

报错后必须要加这两步servicerabbitmq-serverstopservicerabbitmq-serverstart

[root@localhostsbin]#rabbitmq-server-detached

最后的报错是这样,仍然有警告,并且后面说明已经有服务启动,再访问界面,成功

[root@localhostsbin]#rabbitmq-server-detached

Warning:PIDfilenotwritten;-detachedwaspassed.

ERROR:nodewithname"rabbit"alreadyrunningon"localhost"

添加用户和权限

默认网页guest用户是不允许访问的,需要增加一个用户修改一下权限,代码如下:

添加用户:rabbitmqctladd_useradminadmin

添加权限:rabbitmqctlset_permissions-p"/"admin".*"".*"".*"

修改用户角色:rabbitmqctlset_user_tagsadminadministrator

环境初步完成,遇到问题也很坑,关键都是在安装埃完成后,启动MQ服务的时候,各种报错,查了很多资料,几次都想放弃不想安装了,最后慢慢一步步终于成功,

其实过程还是很模糊,但是启动界面管理服务和启动MQ后台服务肯定需要等待一些时间。以后还要慢慢研究,做到知其然,知所以然

相关推荐