前言

项目中某些场景考虑到高并发情况,调研后决定使用RabbitMQ,本来以为很简单,没想到配置环境花费了好多时间,按照网上的方法来,总是有其他问题需要继续查找,特记录此笔记,方便下次部署安装。

本笔记只记录安装过程,不探讨RabbitMQ技术。

准备

使用RabbitMQ,除了要安装RabbitMQ外,还必须安装Erlang,由于RabbitMQ使用Erlang语言编写,所以必须先安装Erlang语言运行环境。
1.Erlang下载:http://www.erlang.org/downloads
2.RabbitMQ下载:http://www.rabbitmq.com/
另外先提一下,Erlang和RabbitMQ安装好需要添加到系统的环境变量中,因为这个花费了我一些时间。

Erlang安装

1.安装
下载完Erlang之后,打开安装包后,一步步安装完成,这里没什么需要注意的地方。

2.设置环境变量
找到Erlang的安装路径打开到bin文件夹下,注意此路径。‘
右键我的电脑,选择属性,找到高级系统设置,点开后选择高级里的环境变量。

找到系统变量中的Path,点击编辑

新建环境变量,添加路径,可以直接复制打开的Erlang的bin路径。

3.检查Erlang是否安装成功
打开cmd,输入 erl 后回车,如果能显示版本信息,表明安装成功。

RabbitMQ安装

1.解压下载好的RabbitMQ
2.配置环境变量
找到RabbitMQ的安装路径打开到sbin文件夹下,注意此路径。
同Erlang的环境变量添加,新建路径,添加到系统变量的Path中

3.CMD中安装、启动服务

使RabbitMQ以Windows Service的方式在后台运行,打开CMD,定位到RabbitMQ的sbin目录下。(快捷方法:在sbin目录里按住shift+右键,选择在此处打开命令窗口)
执行:

  1. rabbitmq-service install
  2. rabbitmq-service enable
  3. rabbitmq-service start

注意,CMD需要管理员权限,否则会报错Unable to register service with service manager. Error: Access is denied.
执行完成后,显示如下信息,表示RabbitMQ的服务端已经启动起来了。

然后,可以用rabbitmqctl这个脚本查看和控制RabbitMQ服务端的状态。
查看状态:

  1. rabbitmqctl status

此时查看一般会出现如下错误:

解决方法如下:
将C:\Users\XXXX\.erlang.cookie 文件拷贝到C:\Windows\System32\config\systemprofile替换掉.erlang.cookie文件。(XXXX为window账户)
重启rabbitMQ服务:CMD中 先输入 net stop RabbitMQ ,然后输入 net start RabbitMQ

  1. net stop RabbitMQ
  2. net start RabbitMQ

此后,再次输入

  1. rabbitmqctl status

显示如下信息,RabbitMQ至此已经正确安装完毕。

 用户设置与web管理工具插件安装

1.新建用户
使用命令查看用户:

  1. rabbitmqctl list_users

RabbitMQ会为我们创建默认的用户名guest和密码guest,guest默认拥有RabbitMQ的所有权限。
如果我们需要自己创建用户,那么需要执行类似于下面的命令,设置密码,并授予权限,并将其设置为管理员。

  1. rabbitmqctl add_user ading //创建用户ading密码为123456
  2. rabbitmqctl set_permissions ading ".*" ".*" ".*" //赋予ading读写所有消息队列的权限
  3. rabbitmqctl set_user_tags ading administrator //分配用户组

另,修改用户密码和删除用户方法如下:

  1. rabbitmqctl change_password ading
  2. rabbitmqctl delete_user ading

2.安装web管理工具插件
CMD中输入:

  1. rabbitmq-plugins enable rabbitmq_management

web管理工具的地址是:http://localhost:15672,初始用户名:guest 初始密码:guest
打开浏览器,输入地址:http://127.0.0.1:15672/#/

总结

不懂的技术,如果配置部署麻烦,也请不要烦躁,因为他人都得经历这些。你得知道,那么多人推荐那么多使用,总是有原因的,别因为一点麻烦就放弃一项好的技术。

RabbitMQ安装笔记的更多相关文章

  1. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  2. RabbitMQ学习笔记(一):安装及Springboot集成

    前言 MQ,即消息队列Message Queue的缩写. RabbitMQ 是MQ的一种,就像招商银行是银行的一种一样.主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息 ...

  3. rabbitMQ学习笔记(一)Windows 与Linux下rabbitMQ的安装

    版权声明:本文为博主原创文章,未经博主允许不得转载. Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definiti ...

  4. RabbitMQ学习笔记(1)----RabbitMQ简介与安装

    ·1. 什么是RabbitMQ? RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. 而AMQP协议则是指:即Advanced ...

  5. windows10环境下的RabbitMQ安装_笔记

    原文:https://blog.csdn.net/weixin_39735923/article/details/79288578 第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用 ...

  6. RabbitMQ学习笔记1-hello world

    安装过程略过,一搜一大把. rabbitmq管理控制台:http://localhost:15672/   默认账户:guest/guest RabbitMQ默认监听端口:5672 JAVA API地 ...

  7. 官网英文版学习——RabbitMQ学习笔记(十)RabbitMQ集群

    在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看 ...

  8. 官网英文版学习——RabbitMQ学习笔记(一)认识RabbitMQ

    鉴于目前中文的RabbitMQ教程很缺,本博主虽然买了一本rabbitMQ的书,遗憾的是该书的代码用的不是java语言,看起来也有些不爽,且网友们不同人学习所写不同,本博主看的有些地方不太理想,为此本 ...

  9. RabbitMQ学习笔记一

    前 言 -解决问题  一.RabbitMQ安装  1.安装erlang 环境 a.下载erlang 版本,注意这里需要和安装的rabbitMq版本相配对,rabbitMQ官方网站上可以查到:https ...

随机推荐

  1. Centos7 安装redis

    1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.检查及下载gcc gcc -v yum -y inst ...

  2. ros kinetic安装rbx1

    1.首先安装一些依赖包 sudo apt-get install ros-kinetic-turtlebot-bringup \ ros-kinetic-turtlebot-create ros-ki ...

  3. 如何在linux上查看tomcat的端口号

    1.先到tomcat配置文件查看tomcat的端口是什么,配置文件一般是:$CATALINA_HOME/conf/server这个文件,查找<Connector port="8080& ...

  4. Redis做分布式锁

    在分布式系统中,在接口没有保证幂等性或者在某些场景下相同的服务需要有且仅有一个服务执行的情况下,需要使用分布式锁来保证系统的安全执行. 分布式锁的执行顺序,有服务A,分别部署了三个节点为A1.A2.A ...

  5. css img 隐藏的边距

    因为图片存在浏览器默认的边距,正常的情况下,增加这样的属性来消除多余的边距或者多1px的情况 img { display: block; border: node; } 但是这样的话img在父元素里设 ...

  6. mysql_study_1

    创建数据库 创建表 数据类型 插入数据的几种方法 约束 代码 CREATE DATABASE mysql_shiyan; use mysql_shiyan; CREATE TABLE departme ...

  7. cxf整合spring中出现的错误

    Caused by: java.lang.ClassNotFoundException: javax.wsdl.extensions.ElementExtensible at org.apache.c ...

  8. python学习之文本文件上传

    最近用python的flask框架完成了一个最基本的文本文件上传,然后读取. 前端用的Angular的ng2-file-upload完成文件上传,后端用flask接收上传的文件,接着做处理. 在交互的 ...

  9. JAVA随笔----浅谈lombok注解

    在Java开发中,注解可谓是帮了大忙.注解的使用帮助我们简化了代码,让代码更加简洁.今天就来谈谈常用的Lombok注解. lombok注解文档 lombok官方下载地址 先看一下lombok支持的一些 ...

  10. Spring history、design philosophy (Spring的历史及设计理念)

    一,Spring的发展史 1,Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和x ...