因为业务需要断网操作,之前弄了一台Windows服务器,并使用的是activemq消息队列,用于特殊业务的中转,现在外部系统重构后需要采用的是rabbitmq,所以Windows服务器上需要支持rabbitmq,于是下载安装,创建角色,授权,一通搞,单个启动rabbitmq时没有任何问题,但是activemq切启动报端口占用,闪退。经过排查发现activemq使用的默认协议端口5672,和rabblitmq的默认端口冲突了,在不影响业务的情况下,只能修改rabbltmq的tcp监听端口。各种尝试有报错,有不生效,最后成功解决问题,记录如下:

1. rabbitmq.config默认是没有生成的,只有一个rabbitmq.config.example,需要自己建一个,要么就copy一个改下名字,要么就是把.example去掉 。

2. rabbitmq.config目录并非安装目录下面的etc,默认是在 C:\Users\%USERNAME%\AppData\Roaming\RabbitMQ 下,这一点在安装目录下面的etc目录下的readme.txt中有说明。 说明如下:

In this directory you can find an example configuration file for RabbitMQ.

Note that this directory is *not* where the real RabbitMQ
configuration lives. The default location for the real configuration
file is %APPDATA%\RabbitMQ\rabbitmq.config.

%APPDATA% usually expands to C:\Users\%USERNAME%\AppData\Roaming or similar.

3. rabbitmq.config的数据格式类似json,但并非json。其中端口号是以下这行 %% {tcp_listeners, [5672]}, 很多人以为只需把 %% 拿掉保存就OK了。但其实后面还有一个小逗号,需要注意,如果当前大节点下面就这一个节点,这个逗号是必须去掉的。 如果这是json格式,后面的小逗号是无关紧要的。但可惜,这是erlang。

4. 其次,修改了配置文件后,不能只是重启服务。我就吃了这个亏,又是重启服务又是重启服务器还是没效果,而需要到安装目录下面的sbin执行三个步骤,cmd窗口必须是管理员身份运行。

执行 rabbitmq-service.bat stop 停止服务

执行 rabbitmq-service.bat install 重新安装服务,这时才会重新加载config文件

执行 rabbitmq-service.bat start 开启服务

5. . 如果config有问题,服务是启动不起来的,而且错误信息也是很难发现的,我最先就是那个端口后面那个逗号没有去掉,结果启动出错,又不知道错误原因,很难排查。

6. 所有config的修改,都必须修改好后,执行第4步

7. 如果是通过环境变量设置config所在目录,一定要注意,环境变量 RABBITMQ_CONFIG_FILE, 这个变量并非是config所在目录,也不是config的全路径。 如你想设置config为 D:\RabbitMQ\rabbitmq.config,则 RABBITMQ_CONFIG_FILE=D:\RabbitMQ\rabbitmq ,因为rabbitmq会自动在变量值后面加上.config后缀,这个在rabbitmq的官方文档上有说明。

8.如果需要知道更多的配置内容,请参看这个翻译博文【传送门】

win10下修改rabbitmq默认端口相关推荐

  1. Windows环境下修改redis默认端口和密码,以及启动方式

    一. 修改配置文件 修改默认端口6379 找到redis目录下的redis.windows.conf配置文件,打开文件,修改NETWORK下的port6379为自己设定的端口号(我将端口设为8888) ...

  2. linux下修改docker容器RabbitMQ端口映射(修改RabbitMQ默认端口)

    1.xshell 执行以下命令获取docker容器ID docker ps -a 2.修改 /var/lib/docker/containers/{容器 ID+ 一些字符串}/hostconfig.j ...

  3. Linux下修改Tomcat默认端口

    假设tomcat所在目录为/usr/local/apache-tomcat/ 1.打开tomcat配置文件 #vi /usr/local/apache-tomcat/conf/server.xml 2 ...

  4. centos下修改mysql默认端口_CentOS下修改Apache默认端口80

    nyoj325 zb的生日(DFS) zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.neve ...

  5. linux怎么修改sftp默认端口,如何在 Linux 系统中如何更改 SFTP 端口

    SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件. 它还允许您对远程文件执行各种文件操作并恢复文件传输. SFTP可以替代旧版FTP协议. 它具有FTP的所有功 ...

  6. Linux下修改SSH登录端口

    Linux下修改SSH登录端口 LINUX 的默认SSH 端口是 22.为了防止别人暴力破解,建议修改SSH 访问端口:vim /etc/ssh/sshd_config 找到Port 22 这一行,这 ...

  7. 阿里云服务器,修改Apache2默认端口80

    阿里云服务器,修改Apache2默认端口80 Apache2默认端口是80,但是一般这个80端口会被别的进程占用,为了避免进程之间冲突,有时候我们可以修改默认端口,个人修改原因是因为部署域名的时候需要 ...

  8. centos7 安装Apache、PHP、MariaDB并修改相关默认端口

    一.安装前准备开放端口 需要配置服务器端口,天翼云80端口默认关闭,这里使用8080端口作为web访问端口,62323端口作为数据库MySQL的端口. 关闭firewall: systemctl st ...

  9. linux怎么修改sftp默认端口,CentOS 6.5/6.6修改SSH默认端口号

    CentOS 6.5/6.6修改SSH默认端口号 先查看下服务器端口号范围: # sysctl -a|grep ip_local_port_range net.ipv4.ip_local_port_r ...

最新文章

  1. 不从事编程、学python有用吗-没想到,学会Python即使不做程序员都能月入过万!...
  2. 客户管理系统里的每个模块该如何显示?
  3. UA MATH571B 试验设计I 试验设计简介
  4. 网络上比较热门的前端开发书籍汇总
  5. log4j 日志配置
  6. 和 Python 2.x 说再见!
  7. @Configuration和@Bean注解详解
  8. 2017.3.14-9.1 玩具取名 失败总结
  9. 计算机视觉(CV)中图像的梯度
  10. MySQL学习记录 (五) ----- 存储函数、存储过程和触发器
  11. vue常用的按键修饰符
  12. bat 设置变量带中文
  13. PageHelper分页插件踩坑--最后一页查询效率低下
  14. 怎么样计算机械功率,电功率与机械功率的换算公式
  15. ALFA深度学习软件金属外观缺陷检测应用
  16. outlook邮件路径更改_如何更改Outlook的新邮件警报声音
  17. 计算机信息单位换算中的t是,算力单位换算(算力单位t)
  18. 计算机在医疗设备中的应用,计算机在医疗设备管理中的应用
  19. 玩转苹果电脑:常用操作及其快捷键
  20. 无心剑七绝《梅西封王》

热门文章

  1. Android提示“很抱歉,xxx已停止运行“,adb命令连接模拟器并查看安卓日志
  2. html顺时针复制原则,图纸的叠法
  3. mysql里面对JSON的操作函数JSON_EXTRACT
  4. 我研究了一个月阿里的岗位JD,不曾想.....
  5. 生理期是女孩变美的黄金期
  6. 海润光伏88亿交易陷“罗生门”
  7. Java 多线程快速入门(面试概念解答一)
  8. 【深度之眼cs231n第七期】笔记(四)
  9. 图钉能按到墙上吗_请问图钉能钉在水泥墙上吗
  10. 使用Pro Event Calendar插件将日历插入WordPress