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

<!-- 安装ifconfig --> 
yum install net-tools 

<!-- 安装vim --> 
yum install yum 

<!-- 准备基础编译环境 --> 
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto 

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

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

wget http://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 -xvf otp_src_20.1.tar.gz 
[root@localhost /]# ll 

创建一个新目录,用来编译安装erlang,并且要安装JDK后面编译用到 
[root@~]# mkdir /usr/local/erlang 
[root@localhost ~]# cd otp_src_20.1 
[root@localhost  otp_src_20.1]# ./configure --prefix=/usr/local/erlang --without-javac 
[root@localhost  otp_src_20.1]# make && make install 

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

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

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

ERL_HOME=/usr/local/erlang 
PATH=$ERL_HOME/bin:$PATH 
export ERL_HOME PATH 


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

[root@localhost /]# rpm -ivh --nodeps rabbitmq-server-3.7.6-1.el7.noarch.rpm 
这个是rabbitMQ环境变量,参考网上有些人没有安装,我也没有配置 
export PATH=$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-plugins enable rabbitmq_management 

坑来了,直接报错 
[error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces 

说是权限问题 加入 
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie 

然后再报错 
The following plugins have been enabled: 
  mochiweb 
  webmachine 
  rabbitmq_web_dispatch 
  amqp_client 
  rabbitmq_management_agent 
  rabbitmq_management 

Applying plugin configuration to rabbit@..... 
意思是不能提交 需要开启节点 
[root@localhost sbin]#  ./rabbitmqctl start_app 
这一步非常诡异,创建节点的时候,其实是报错,Error: unable to perform an operation on node 'rabbit@localhost'. Please see diagnostics information and suggestions below. 不明白啥原因 
再次启动 
./rabbitmq-plugins enable rabbitmq_management 

然后直接后台启动服务,只是有一个写入警告,这些操作有可能是服务启动延时造成,虚拟机启动需要,之前有可能是等待时间太短,不断的重启导致错误。 
报错后必须要加这两步  service rabbitmq-server stop   service rabbitmq-server start 
[root@localhost sbin]# rabbitmq-server -detached 

最后的报错是这样,仍然有警告,并且后面说明已经有服务启动,再访问界面,成功 
[root@localhost sbin]# rabbitmq-server -detached 
Warning: PID file not written; -detached was passed. 
ERROR: node with name "rabbit" already running on "localhost" 

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

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

修改用户角色:rabbitmqctl set_user_tags admin administrator 

环境初步完成,遇到问题也很坑, 关键都 是在安装埃完成后, 启动MQ服务的时候,各种报错,查了很多资料,几次都 想放弃不想安装了,最后慢慢一步步终于成功, 
其实过程还是很模糊,但是启动界面管理服务和启动MQ后台服务肯定需要等待一些时间。以后还要慢慢研究,做到知其然,知所以然

猜你喜欢

转载自blog.csdn.net/limingcai168/article/details/81214160