CentOS7安装配置RabbitMQ

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。

由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang
wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

执行下面命令升级上步下载的rpm软件包
rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm

执行下面命令安装erlang
yum -y install erlang

测试Erlang是否安装成功
[root@localhost src]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 8.0.3

安装RabbitMQ
[root@localhost src]#yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rpm

后台运行rabbitmq
[root@localhost src]rabbitmq-server –detached

设为开机启动
[root@localhost src]chkconfig rabbitmq-server on

启动rabbitmq服务
[root@localhost sbin]# service rabbitmq-server start

查看状态
rabbitmqctl status

查看目前RabbitMQ已安装插件
[root@localhost sbin]# ./rabbitmq-plugins list

这样虽然我们已经将rabbitmq的服务正常启动了,但是我们在物理机的浏览器中输入ip:15672时,并不能连接,因为我们还没有配置维护插件和开启远程连接
安装web管理端
[root@localhost sbin]# rabbitmq-plugins enable rabbitmq_management

设置配置文件,并开启用户远程访问#cd /etc/rabbitmq
 #cp /usr/share/doc/rabbitmq-server-3.5.6/rabbitmq.config.example /etc/rabbitmq/
 #mv rabbitmq.config.example rabbitmq.config
vi /etc/rabbitmq/rabbitmq.config
 
service rabbitmq-server restart

新建一个用户名为admin,密码为admin的用户,并授予管理员(administrator)权限
[root@localhost sbin]# rabbitmqctl add_user  admin  admin
[root@localhost sbin]# rabbitmqctl set_user_tags admin administrator
通过浏览器访问地址:http://192.168.10.92:15672/#/

设置权限
rabbitmqctl add_vhost admin
rabbitmqctl set_permissions -p admin  admin ".*" ".*" ".*"

注释:主要是set_permissions的使用,先看下命令的格式
set_permissions [-p vhost] {user} {conf} {write} {read}

需要注意以下几点的理解:
•  1.这里的权限,只是针对一般用户的访问权限,注意和角色的区分。举个例子来说,非管理用户(普通用户),角色设置为none,然后在这里配置conf、write、read的权限。
•  2.conf、write、read采用正则表达式,这里的正则主要是针对exchange和queue。主要2种特殊的表达式:
^$:表示完全不匹配(即没有权限)
.*:表示匹配所有(即所有权限)

错误信息:输入service rabbitmq-server start 启动命令后 出现下面错误信息
 Job for rabbitmq-server.service failed. See ‘systemctl status rabbitmq-server.service’ and ‘journalctl -xn’ for details.
 解决方案:
  将5672端口加入防火墙白名单
   firewall-cmd --permanent --add-port=5672/tcp
   firewall-cmd --reload
   setsebool -P nis_enabled 1
 粗暴一点的方法就是直接关闭防火墙,关闭seLinux
  systemctl stop firewalld
  setenforce 0 
  错误二、出现登录页面后,输入guest账户信息后,不能登录。
  这是因为我们没有开启远程用户访问,这个解决方案,在上面步骤中已经列出,不再重复。

转载自:

https://blog.csdn.net/hao134838/article/details/71512557

https://blog.csdn.net/cool_summer_moon/article/details/78803661

转载于:https://my.oschina.net/u/3020519/blog/1941601

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值