RabbitMQ 消息队列 安装及使用
RabbitMQ 消息队列安装:
linux版本:CentOS 7
安装第一步:先关闭防火墙
1、Centos7.x关闭防火墙
[root@rabbitmq /]# systemctl stop firewalld.service [root@rabbitmq /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
如果不想关闭防火墙,可以通过如下方法处理:
开放5672端口: firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
第二步:安装Erlang
由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。
Erlang的安装方式大概有两种:
1)从Erlang Solution安装(推荐)
# 添加erlang solutions源
$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
$ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm $ sudo yum install erlang
2)从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)
# 启动EPEL源
$ sudo yum install epel-release
# 安装erlang
$ sudo yum install erlang
安装第三步:安装RabbitMQ
$ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
$ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm # 下载RabbitMQ安装包
$ sudo yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
注意:安装时如果遇到下面的依赖错误
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
Requires: libreadline.so.5()(64bit)
可以尝试先执行:$ sudo yum install socat
至此,如果没有报错的话,RabbitMQ已经安装成功!此时我们需要测试RabbitMQ是否可以正常使用。
测试:
1、开启服务及查看工作状态
$ rabbitmq-server #启动RabbitMQ队列
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务
$ netstat -tulnp |grep rabbitmq #查看默认启用的端口号,5672
2、关于RabbitMQ的一些基本操作
# 查看当前所有用户
$ sudo rabbitmqctl list_users $ rabbitmqctl list_queues #查看当前的消息队列列表
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest # 添加新用户
$ sudo rabbitmqctl add_user username password # 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator # 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username
更多关于rabbitmqctl的使用,可以参考帮助手册。
3、开启web管理接口
如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。
$ sudo rabbitmq-plugins enable rabbitmq_management
然后通过浏览器访问 http://localhost:5672 输入用户名和密码访问web管理界面了。
4、配置RabbitMQ
关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
关于每个配置项的具体作用,可以参考官方文档。
更新配置后,别忘了重启服务哦!
5、开启用户远程访问
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:
{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。
{loopback_users, ["admin"]}
更新配置后,别忘了重启服务哦!
RabbitMQ 消息队列 安装及使用的更多相关文章
- (五)RabbitMQ消息队列-安装amqp扩展并订阅/发布Demo(PHP版)
原文:(五)RabbitMQ消息队列-安装amqp扩展并订阅/发布Demo(PHP版) 本文将介绍在PHP中如何使用RabbitMQ来实现消息的订阅和发布.我使用的系统依然是Centos7,为了方便, ...
- RabbitMQ消息队列安装和配置以及推送消息
好久没有写了,最近项目用到RabbitMQ,找了一些资料试验,最后终于成功了,把安装配置的步骤分享给大家. 一.Erlang安装具体过程: 1.双击otp_win32_R16801.exe(不同版本可 ...
- RabbitMQ消息队列———安装(一)
一.RabbitMQ队列 不同进程间的通信,简称IPC.不同的进程间的通信,可以基于队列解决,将生产者和消费者进行解耦,中间的队列作为其桥梁.RabbitMQ是一个在AMQP基础上完整的,可复用的企业 ...
- RabbitMQ消息队列+安装+工具介绍
1.MQ为Message Queue,消息队列是应用程序和应用程序之间的通信方法 2. 多种开发语言支持,其实就是一个驱动,如连接数据库的mysql驱动,oracle驱动等. 3. 4.采用以下语言开 ...
- RabbitMQ消息队列安装
[root@VM_119_179_centos ~]# rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm [root@VM_119_179_centos ~]# rpm ...
- RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...
- 第二百九十一节,RabbitMQ多设备消息队列-安装与简介
RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...
- OpenStack 安装数据库和rabbitmq消息队列 (三)
一)安装配置数据库 1.1.安装包 # yum install mariadb mariadb-server python2-PyMySQL -y 1.2.配置数据库 # vim /etc/my.cn ...
- (三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1
原文:(三)RabbitMQ消息队列-Centos7下安装RabbitMQ3.6.1 如果你看过前两章对RabbitMQ已经有了一定了解,现在已经摩拳擦掌,来吧动手吧! 用什么系统 本文使用的是Cen ...
随机推荐
- 算法总结之 删除链表的中间节点和a/b处的节点(链表中间节点的重要思想)
给定链表的表头节点head,实现删除链表的中间节点的函数 推展: 给定链表的头节点,整数a 和 整数 b,实现删除a/b处节点的函数 先来分析原问题, 长度1 直接返回 长度2 将头节点删除 长度3 ...
- 【P2015】二叉苹果树(树状DP)
蒟蒻弱弱的开始做树形DP了,虽然做了这道题还是有很多不懂得地方. 这道题大意就是有一棵树,只保留其中q条边,求出剩余边的最大权值. 然后开始考虑怎么做(其实是看着题解出思路....),很容易可以想出D ...
- hive学习8(小案例1练习)
创建数据库 hive> create database feigu; hive> use feigu; 创建表 stg_job表 drop table if exists stg_job; ...
- excel比较筛选两列不一样的数据
在excel表中,罗列两列数据,用B列数据与A列比较,筛选出B列中哪些数据不同,并用红色标记出来. 首先选中B列.直接鼠标左键点击B列即可选中."开始"--->&qu ...
- 分析新建的android代码
1).xml文件中的<?xml version="1.0" encoding="utf-8"?>是每个xml文件开仅有一个的声明xml的代码. 2) ...
- vue 列表渲染 v-for循环
v-for循环指令类似与html中C标签的循环,同样可以遍历数组,集合. 1.这里演示一下遍历数组的基本用法,代码如下 <!DOCTYPE html> <html> <h ...
- js抽象工厂模式
抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 抽象工厂允许客户使用抽象的接口来创建一组相关产品,而不需要知道或关心实际生产出的具体产品是什么.这样客户就可以从具体 ...
- js的set和get
'use strict' class Student { constructor(_name,age){ this.name = _name; this.age = age; } set name(_ ...
- Hibernate(1)
一.什么是hibernate 1. hibernate是开源的轻量级框架,应用在javaee三层结构中 dao层框架,使用orm思想对数据库进行crud操作 2 .在dao层里面做对数据库crud操作 ...
- python编程实例-dmidecode系统信息搜集
#!/usr/bin/env python from subprocess import PIPE,Popen def getDmi(): p = Popen(['dmidecode'],stdout ...