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

阅读更多

yum install net-tools


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后台服务肯定需要等待一些时间。以后还要慢慢研究,做到知其然,知所以然

你可能感兴趣的:(虚拟机,erlang,vim,rabbitMQ)