erlang安装_RabbitMQ的使用(一)- RabbitMQ服务安装

作者:markjiang7m2博客园地址:https://www.cnblogs.com/markjiang7m2/p/12769627.html官网地址:http://letyouknow.net

RabbitMQ,消息队列的一个中间件,这里不打算展开介绍了。此文意在记录工作中使用RabbitMQ时的过程及一些心得,大神可忽略。如有表述有误,各路大神可在留言区进行指正,不胜感谢。

Windows系统中安装RabbitMQ服务

安装Erlang运行环境

RabbitMQ是采用Erlang实现的,所以需要安装Erlang的运行环境。

安装Erlang OTP,官网下载https://www.erlang.org/downloads,版本自行选择,我这里用的是otpwin6422.3.exe,下载完可执行文件双击运行安装即可,这里不展开。

安装RabbitMQ

官网下载https://www.rabbitmq.com/download.html,版本自行选择,我这里用的是rabbitmq-server-3.8.3.exe,也是直接安装即可,这里不展开

启动RabbitMQ服务

打开cmd命令框,切换至C:Program FilesRabbitMQ Serverabbitmq_server-3.8.3sbin目录下,输入rabbitmqctl status查看状态,如果未启动,则可以通过rabbitmq-service进行启动,或者到Windows服务启动

f56169dfa71315ad5100c0bfb9dbe437.png
09b9dfb2fcfe5e1fdb3dd060eac2bba9.png

rabbitmq-service命令如下,按需执行:

# 安装RabbitMQ服务rabbitmq-service install# 启动RabbitMQ服务rabbitmq-service start# 停止RabbitMQ服务rabbitmq-service stop# 删除RabbitMQ服务rabbitmq-service remove
b9f6fb3528ee1b2c8c67a57b1ededaa8.png

启用RabbitMQ管理插件

#cmd命令rabbitmq-plugins.bat enable rabbitmq_management

然后在浏览器访问地址http://localhost:15672/,输入默认用户名和密码,都是guest

f05e68a95be99da4c42cf86a2c3369b6.png

可以看到刚刚已经安装的RabbitMQ节点

一般我们都会先创建一个使用的user和virtual host,可以通过rabbitmqctl命令或者管理界面进行创建,我这里就直接在界面操作了。

fda0f39dd0d4a7ba801cc61d0cc86357.png
8ff635e7107af1585894c6656ebe365a.png

分配user对我们将要用到的virtual host的权限

0d64499b8b560091cdbb34d271743784.png

到这里为止,就已经完成了RabbitMQ服务的安装了。

自定义配置

RabbitMQ 服务默认监听的端口为 5672,管理插件默认监听的端口为 15672,那如果我们要更改这些端口,应该怎么做呢?

先贴出官网提供的文档链接https://www.rabbitmq.com/configure.html

其实官网说得很详细,我自己整理了一些我有用到的。

首先,RabbitMQ支持通过添加系统环境变量进行定制化配置。

RABBITMQNODEPORT: 默认值为 5672,RabbitMQ服务监听端口

RABBITMQ_NODENAME: Windows系统下默认值为 rabbit@%COMPUTERNAME%,RabbitMQ节点的名称

RABBITMQ_SERVICENAME: 默认值为 RabbitMQ,RabbitMQ服务名称

添加/修改了系统环境变量后,需要重新安装RabbitMQ服务才能生效,是重新安装,不是重启,使用rabbitmq-service命令

再来看看我们创建的RabbitMQ节点的一些信息

6a6368f9d9fd84f5744d34da4701242d.png

这里就包含配置文件路径,数据库文件路径,日志文件路径,默认路径都是在 C:甥敳獲%UserName%AppDataRoamingRabbitMQ目录下,也是可以通过环境变量进行个性化定制

RABBITMQCONFIGFILE: 配置文件路径,默认值为%APPDATA%RabbitMQabbitmq,官文也特别说明了,配置的时候是不带文件后缀名的

RABBITMQADVANCEDCONFIG_FILE: Advanced配置文件路径,默认值为%APPDATA%RabbitMQadvanced,同上,不带文件后缀名

RABBITMQMNESIADIR: 数据库文件路径,默认值为%APPDATA%RabbitMQ$RABBITMQ_NODENAME

到了这里,我在做实际操作的时候是有疑问的,因为出现了三个文件分别是 rabbitmq.conf, rabbitmq.config, advanced.config,特别是前面两个,一开始我一度认为只是官文不小心写错了,它们说的应该是同一个文件,然而并不是,而且这两个配置文件的写法也不一样,我又仔细看了看上面链接的官文,自己也做了一下实验,得到了下面的结论(如果有不对的,各路大神请指正)。

rabbitmq.config为RabbitMQ 3.7.0之前使用的默认配置文件,写法使用的是Erlang格式, rabbitmq.conf是RabbitMQ 3.7.0版本开始使用的默认配置文件,写法使用的是sysctl格式。而 advanced.config则是因为有一些配置无法或者很难用sysctl格式进行书写的,那就写在这个 advanced.config文件中,所以 advanced.config的写法使用的是Erlang格式。

旧版Erlang格式

[  {rabbit, [{ssl_options, [{cacertfile,           "/path/to/ca_certificate.pem"},                           {certfile,             "/path/to/server_certificate.pem"},                           {keyfile,              "/path/to/server_key.pem"},                           {verify,               verify_peer},                           {fail_if_no_peer_cert, true}]}]}].

新版sysctl格式

ssl_options.cacertfile           = /path/to/ca_certificate.pemssl_options.certfile             = /path/to/server_certificate.pemssl_options.keyfile              = /path/to/server_key.pemssl_options.verify               = verify_peerssl_options.fail_if_no_peer_cert = true

然后,为了兼容大家使用的旧版配置文件,新版RabbitMQ也仍然兼容 rabbitmq.config配置,只是在安装服务的时候会有输出提示让大家尽快升级到新版。那么这个时候就会有一个问题了,上面我们的环境变量 RABBITMQ_CONFIG_FILE是说不包含文件后缀名的,那如果我两个文件同时存在,到底会是哪个配置文件被优先使用呢?

  • 如果 rabbitmq.config、 rabbitmq.conf文件都不存在,优先使用 advanced.config中的配置
  • 只要 rabbitmq.config存在,优先使用 rabbitmq.config文件,直接忽略 advanced.config文件
  • 如果 rabbitmq.config不存在,而 rabbitmq.conf、 advanced.config同时存在,则这两个文件都会被使用

如果我们指定 RABBITMQ_CONFIG_FILE为其它文件名或者其它路径,情况也是参考如上。

这里还有一个环境变量 RABBITMQ_CONF_ENV_FILE,在Windows系统中对应的是一个批处理文件,通常命名为 rabbitmq-env-conf.bat,只要我们配置了这个环境变量,那么刚刚前面我们提到的环境变量,都可以在这个批处理文件中添加,如下:

set RABBITMQ_CONFIG_FILE=D:RabbitMQmyrabbitmq.config

也是要注意的,记得重新安装服务。

所以回到我们一开始的问题,怎么修改RabbitMQ服务监听端口和管理插件监听端口?

  1. 通过环境变量 RABBITMQ_NODE_PORT可以修改RabbitMQ服务监听端口
  2. 通过 rabbitmq.config、 advanced.config添加如下配置,使用Erlang格式:
[  {rabbit, [      {tcp_listeners, [5675]}    ]  },  {rabbitmq_management, [      {listener, [{port, 15675}]}    ]  }].
  1. 通过 rabbitmq.conf添加如下配置,使用sysctl格式:
    listeners.tcp.default = 5675    management.tcp.port = 15675

更多的配置项,可以查看官文https://www.rabbitmq.com/configure.html#config-items、https://www.rabbitmq.com/management.html,按需配置即可。

附带这三个文件的example文件rabbitmq.config.examplerabbitmq.conf.exampleadvanced.config

总结

本文就记录了我在windows系统安装RabbitMQ服务的过程,没有太多的干货,但也确实在百度上能找到关于自定义配置的说明并不多,说得也比较模糊,所以我这里就给自己做了个笔记,下次再用的时候就不会迷路了,希望也能给各位提供一些有用信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NodeJS React 开发环境搭建

1、首先需要安装NodeJS环境,下载NodeJS安装程序安装即可。 NodeJS下载地址: https://nodejs.org/en/download/ 2、安装NodeJS的web框架express npm install express-generator -g 3、创建项目 express studyReact 4、添加jsx引擎支持 npm install ex…

dreamweaver 正则表达式为属性值加上双引号_Python正则表达式(一)

Python正则表达式正则表达式是处理字符串的强大工具,拥有独特的语法和独立的处理引擎。我们在大文本中匹配字符串时,有些情况用str自带的函数(比如find, in)可能可以完成,有些情况会稍稍复杂一些(比如说找出所有“像邮箱”的字符串&#xff0…

mapperscan注解_SpringBoot 遗忘后的简单快速回忆之环境搭建与常见注解

原文作者:笑而抿之乎搭建SpringBoot环境,创建maven 项目后1,创建入口类:MapperScan(basePackages "com.baizhi.dao" ) //把dao层交给工厂管理SpringBootApplication//标识入口类的注解public class Applincation { …

Android插件丢失怎么办,Android studio推荐插件以及升级后插件丢失问题解决

1、android-butterknife-zeleznyandroid-butterknife-zelezny 是根据butterknife定制的一款插件,能够方便快速初始化,对于我来说是开发必备,本人也对此插件进行了一些优化,个人感觉用起来更爽 ,博客地址:Bu…

软工团队 - 系统设计

软工团队 - 系统设计 修改完善需求规格说明书 针对栋哥在上周答辩中主要提到问题的相应改动 管理员层面没有在需求中得到很好的体现。没有手机号验证。那时候回答的比较含糊orz,所以在这里说明一下对此作出的解释和修改。 对于第一点,我们讨论的结果是至…

python decimal_python学习笔记一

1、~4不太明白、右移、左移整体移动添加零2、注意运算符&#xff0c;3、1<<5&716&704、set中的pop() 方法用于随机移除一个元素。字典中&#xff1a;list中5、Python dir() 函数dir()函数不带参数时&#xff0c;返回当前范围内的变量、方法和定义的类型列表&…

java基础基础总结----- Date

前言&#xff1a;其实在学习这个的时候&#xff0c;自我感觉学到什么直接查询API就可以了&#xff0c;没有必要再去研究某个方法怎么使用&#xff0c; 重点学习一下经常用到的方法。感觉自己的写的博客&#xff0c;就跟自己的笔记一样&#xff0c;用的是时候&#xff0c;就能快…

pandas object转float_Pandas中文官档~基础用法6

呆鸟云&#xff1a;“这一系列长篇终于连载完了&#xff0c;还请大家关注 Python 大咖谈&#xff0c;这里专注 Python 数据分析&#xff0c;后期呆鸟还会给大家分享更多 Pandas 好文。”数据类型大多数情况下&#xff0c;pandas 使用 Numpy 数组、Series 或 DataFrame 里某列的…

android studio 拉取分支,AndroidStudio中使用Git-高级篇(二)——新建分支(branch)和拉取请求(Pull request)...

前段时间写过一篇文章介绍如何在AndroidStudio使用上传项目到github&#xff0c;今天接着给大家带来了他的高级篇——新建分支(branch)和拉取请求(Pull request)。在真正的开发中我们很少写完代码commit后直接push代码上去&#xff0c;因为这样做没有经过第二个人的审核&#x…

collection转换为list_JAVA 集合 接口继承关系和实现,List,Set,Map(总结)

一. JAVA 集合1.接口继承关系和实现集合类存放于 Java.util 包中&#xff0c;主要有 3 种&#xff1a;set(集&#xff09;、list(列表包含 Queue&#xff09;和 map(映射)。1. Collection&#xff1a;Collection 是集合 List、Set、Queue 的最基本的接口。2. Iterator&#xff…

lazarus开发android应用程序指南,Lazarus开发Android应用程序指南(2)

本指南版权由delphicn所有&#xff0c;QQ&#xff1a;1339838080(tom)&#xff0c;转载请保留版权信息。文中难免有错&#xff0c;欢迎指正。2&#xff0e;编译运行lazarus中的Android示例程序。lazarus安装包中自带示例是在lazarus/examples/androidlcl/androidlcltest.lpi 。…

plsqldevelop安装教程

一、下载并解压压缩包&#xff0c;解压后有如下文件&#xff1a; 二、运行PLSQL Developer10.0.5.1710.exe文件&#xff0c;可以修改文件安装路径&#xff0c;然后一直下一步下一步就可以了; 三、运行软件汉化包PLSQL Developer10.0.5.1710_CHS.exe&#xff0c;不用管一直下一步…

java优先队列_Java高级特性增强-多线程

请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigData大数据成神之路系列&#xff1a;请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigDataJava高级特性增强-集合Java高级特性增强-多线程Java高级特性增强-SynchronizedJava高级特性增强-vola…

理解JS的6种继承方式

【转】重新理解JS的6种继承方式 写在前面 一直不喜欢JS的OOP&#xff0c;在学习阶段好像也用不到&#xff0c;总觉得JS的OOP不伦不类的&#xff0c;可能是因为先接触了Java&#xff0c;所以对JS的OO部分有些抵触。 偏见归偏见&#xff0c;既然面试官问到了JS的OOP&#xff0c;那…

android 滚动列表框,建立滚动列表框

另一个可代替一组单选按钮及复选框的是滚动列表框(见图6.9)。使用滚动列表框&#xff0c;你可以建立一个选项列表&#xff0c;用户可以从中选择一个或多个选项。你可以使用建立下拉式列表框的标识符来建立一个滚动列表框&#xff0c;只是使用不同的属性。下面是个例子&#xff…

collection集合 多少钱_面试必备-Java集合框架

Java集合框架面试题常见集合集合可以看作是一种容器&#xff0c;用来存储对象信息。 数组和集合的区别&#xff1a; &#xff08;1&#xff09;数组长度不可变化而且无法保存具有映射关系的数据&#xff1b;集合类用于保存数量不确定的数据&#xff0c;以及保存具有映射关系的数…

html鼠标滚动图片折叠,鼠标滑过图片3D折叠效果

本教程我们将使用CSS3 3D transforms和jQuery来制作一个神奇的3D折叠效果。在我们的demo中&#xff0c;图片在鼠标滑过的时候被折叠&#xff0c;空出来的部分将显示图片的一些信息。我们将创建一个放置图片html结构&#xff0c;当鼠标滑过它时&#xff0c;使用jQuery来将折叠或…

微信小程序开发之普通链接二维码

本文主要介绍扫普通链接二维码打开小程序&#xff0c; 详情请看官方文档https://mp.weixin.qq.com/debug/wxadoc/introduction/qrcode.html 配置普通链接二维码规则 生成二维码 访问https://cli.im/url&#xff0c;将https://test.com/linkcode?id1_2生成二维码图片 小程序接收…

html checked属性值,HTML复选框的checked属性的值是多少?

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;我们都知道如何在HTML中构成复选框输入&#xff1a;我不知道 - 选中复选框的技术上正确的值是多少&#xff1f;我已经看到了这些工作&#xff1a;答案是无关紧要的…

3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题

若发现此文章消失&#xff0c;则是在等待审核中&#xff0c;稍等一会儿即可显示&#xff0c;谢谢。 另外&#xff0c;我会尽量晚上上传更新题目。 此文章太长了&#xff0c;导致MD编辑器很卡&#xff0c;另写了一篇接续 传送门 Python解答蓝桥杯省赛真题之从入门到真题 &#x…