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服务启动
rabbitmq-service命令如下,按需执行:
# 安装RabbitMQ服务rabbitmq-service install# 启动RabbitMQ服务rabbitmq-service start# 停止RabbitMQ服务rabbitmq-service stop# 删除RabbitMQ服务rabbitmq-service remove
启用RabbitMQ管理插件
#cmd命令rabbitmq-plugins.bat enable rabbitmq_management
然后在浏览器访问地址http://localhost:15672/,输入默认用户名和密码,都是guest
可以看到刚刚已经安装的RabbitMQ节点
一般我们都会先创建一个使用的user和virtual host,可以通过rabbitmqctl命令或者管理界面进行创建,我这里就直接在界面操作了。
分配user对我们将要用到的virtual host的权限
到这里为止,就已经完成了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节点的一些信息
这里就包含配置文件路径,数据库文件路径,日志文件路径,默认路径都是在 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服务监听端口和管理插件监听端口?
- 通过环境变量 RABBITMQ_NODE_PORT可以修改RabbitMQ服务监听端口
- 通过 rabbitmq.config、 advanced.config添加如下配置,使用Erlang格式:
[ {rabbit, [ {tcp_listeners, [5675]} ] }, {rabbitmq_management, [ {listener, [{port, 15675}]} ] }].
- 通过 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服务的过程,没有太多的干货,但也确实在百度上能找到关于自定义配置的说明并不多,说得也比较模糊,所以我这里就给自己做了个笔记,下次再用的时候就不会迷路了,希望也能给各位提供一些有用信息。
erlang安装_RabbitMQ的使用(一)- RabbitMQ服务安装相关推荐
- rabbitmq使用_RabbitMQ的使用(二) RabbitMQ服务在单机中做集群
作者:markjiang7m2 博客园地址:https://www.cnblogs.com/markjiang7m2/p/12837151.html 官网地址:http://letyouknow.ne ...
- 初次安装Linux(Ubuntu)(ssh,ftp服务安装)
目录 ■SSH服务安装 ■FTP服务安装 ■JRE安装 ■JDK安装 ■查看各种连接 ■UNIX 与 Linux ■linux命令中的参数前的一横(-)和两横(--)的区别 初次安装完毕linux之后 ...
- 安装、启动与停止Apache服务
安装.启动与停止Apache服务 安装Apache相关软件 [root@centos7 ~]# rpm -q httpd [root@centos7-1 ~]# mkdir /opt/cent ...
- Windows下当地RabbitMQ服务的安装
Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...
- 编译安装rabbitmq服务端
有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的.是已经编译好的源码了 下面介绍编译源码安装 总括: 需要以下步骤: 1.安装erlange.因为 ...
- Docker快速安装RabbitMQ服务
Docker快速安装RabbitMQ服务 快速开始 #!/bin/bash # 建议保存为start.sh脚本执行 docker run -d --hostname my-rabbit --name ...
- 安装RabbitMQ时出现Plugin configuration unchanged,RabbitMQ服务启动几秒后自动关闭, http://127.0.0.1:15672/页面无法访问一并解答
1.正常情况下的安装步骤 注意在官网安装时,尽量安装新版本,老旧版本会导致各种问题 官网下载地址:http://www.rabbitmq.com/download.html https://www.r ...
- RabbitMQ服务的安装与使用
一.RabbitMQ的介绍 MQ为Message Queue,消息队列是应用和应用程序之间的通信方法. RabbitMQ是一个开源的,在AMQP基础上完整的,可复用的企业消息系统. 支持主流的操作系统 ...
- Win10 下 RabbitMQ 的 安装 配置
记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘. 第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安 ...
最新文章
- python减小内存占用_如何将Python内存占用缩小20倍?
- Python之父重回决策层,未来如何发展?
- Morris post order traversal algorithm
- AI领域内,敢和BAT决斗的创业公司都在这了!
- linux scp远程拷贝文件及文件夹
- 链式调用setTimeout()与setInterval()的区别
- python方法测试怀孕_在Python中测试私有方法(例外)
- 电脑账户与用户账户编码规则
- linkin大话设计模式--单例模式
- iotop监视磁盘I/O
- selenium-滚动
- 【经验】vmware虚拟机只能使用鼠标无法使用键盘、装VMware-Tools无法复制粘贴的可能解决办法
- Java项目源码下载S2SH基于java的保险业务管理系统
- 2010年中国互联网十大事件
- Labview与三菱PLC通讯 (2)
- html页面显示不全问题,网页显示不完全
- AD再见--AdGuardHome神器
- java于网络:P2P聊天系统
- js数组拆分成几个数组
- 软件史上的10大bug
热门文章
- scaling之旅_机器学习算法之旅 - lwaif的个人空间 - OSCHINA - 中文开源技术交流社区...
- Java instanceof关键字详解
- mysql数据库自动化脚本备份_mysql 自动化脚本备份
- 华为仿苹果字体_华为mate40系列再次霸榜DXO,网友:无敌是多么寂寞
- 蒙特卡罗模拟法 —— matlab
- 爬虫之祖urlib 简易教程
- python excel数据可视化软件_excel是基础的数据分析与可视化工具
- java接口文档生成工具_【分享】接口文档生成工具apipost
- 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证
- Python中map()函数用法