window下rabbitmq的配置问题
最近项目想用个MQ来做业务分离,看了市面上众多产品,最后选了rabbitmq,理由很简单,对window的支持很到位(其实是公司的系列产品都是.net的)。
安装方法什么的就不说了,直接到官网下载双击安装就可以。
如果全部都使用默认配置,你将不会遇到任何阻碍。
安装之后设置一下帐号信息,抄了网上的一个方子:
- REM 开启网页版管理平台
- rabbitmq-plugins.bat enable rabbitmq_management
- REM 添加一个帐号 密码
- rabbitmqctl.bat add_user lijinan lijinan
- REM 添加角色
- rabbitmqctl.bat set_user_tags lijinan administrator
- REM 添加权限
- rabbitmqctl.bat set_permissions -p / lijinan ".*" ".*" ".*"
设置好之后,你可以到 http://localhost:15672 看到爽歪歪的管理界面,按官网给出的C#解决方法,嗯,一切顺利,发送,接收都是如此的完美
在本地试过没问题之后,于是就安装到了公司内部服务器
因为公司网络有端口限制,防火墙只开了有限的端口,默认的5672和15672是用不了的,正常流程是找IT开端口,但为是省事,想直接通过修改rabbitmq的配置文件,把默认端口改为公司允许的端口,比如我是要改到8008。
于是就开始了修改配置,这里面遇多了一些坑,总结一下:
1. rabbitmq.config默认是没有生成的,只有一个rabbitmq.config.example,需要自己建一个,其实就是把.example拿掉就是了
2. rabbitmq.config目录并非安装目录下面的etc,默认是在 C:\Users\%USERNAME%\AppData\Roaming\RabbitMQ 下,这一点在安装目录下面的etc目录下的readme.txt中有说明。
3. rabbitmq.config的数据格式类似json,但并非json。其中端口号是以下这行
%% {tcp_listeners, [5672]},
很多人以为只需把 %% 拿掉保存就OK了。但其实后面还有一个小逗号,需要注意,如果当前大节点下面就这一个节点,这个逗号是必须拿掉的。
如果这是json格式,后面的小逗号是无关紧要的。但可惜,这是erlang。
4. 其次,修改了配置文件后,不能只是重启服务。而需要到安装目录下面的sbin
执行 rabbitmq-service.bat stop 停止服务
执行 rabbitmq-service.bat install 重新安装服务,这时才会重新加载config文件
执行 rabbitmq-service.bat start 开启服务
5. 所有的命令行操作,都必须在管理员的权限下进行
6. 如果config有问题,服务是启动不起来的,而且错误信息也是很难发现的。
7. 所有config的修改,都必须修改好后,执行第4步
8. 如果是通过环境变量设置config所在目录,一定要注意,环境变量 RABBITMQ_CONFIG_FILE, 这个变量并非是config所在目录,也不是config的全路径。
如你想设置config为 D:\RabbitMQ\rabbitmq.config,则 RABBITMQ_CONFIG_FILE=D:\RabbitMQ\rabbitmq ,因为rabbitmq会自动在变量值后面加上.config后缀
window下rabbitmq的配置问题的更多相关文章
- Window下mysql环境配置问题整理
Window下mysql环境配置问题整理 参考如下链接. 无需安装解压版mysql包 创建选项配置 首次启动服务 用mysqld初始化目录 安装后设置和测试 启动服务错误信息 管理员模式打开cmd m ...
- window下rabbitmq环境安装
最近项目想用个MQ来做业务分离,看了市面上众多产品,最后选了rabbitmq,理由很简单,对window的支持很到位(其实是公司的系列产品都是.net的). 安装方法什么的就不说了,直接到官网下载双击 ...
- Window环境下RabbitMQ的安装和配置教程
一.安装 首先,RabbitMQ基于Erlang语言环境,所以需要先安装Erlang. Erlang下载地址:http://www.erlang.org/downloads 按照安装程序默认安装完成就 ...
- PHP window下安装Spl_Types模块
1. Window下,Spl_Types的模块的下载地址:http://pecl.php.net/package/SPL_Types/0.4.0/windows 2. php的可执行文件已经加到系统的 ...
- window下搭建c开发环境(GNU环境的安装)
一.在windows平台上安装GNU环境 windows操作系统不自带GNU环境,如果需要开发跨平台的C语言程序,那么需要给windows安装GNU环境 windows下的两款GNU环境:MinGW和 ...
- Window下python2.7+Apache+mod_wsgi+Django服务器配置
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方 ...
- safari浏览器在window下 打开控制台
有时候需要在window下测试safari浏览器的兼容性 然后需要打开错误控制台 以下是完整打开的图文教程 1.显示菜单栏 2.打开偏好设置 3.然后切换到高级标签 勾选 在菜单栏显示开发菜单 4.打 ...
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...
- window下安装wamp环境
Wamp就是Windos Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件.其中php环境配置是至关重要的一部分,本文就针对php在本地的 ...
随机推荐
- Java实现归并排序(转)
Java实现归并排序 本文转自https://www.cnblogs.com/of-fanruice/p/7678801.html 归并排序 (merge sort) 是一类与插入排序.交换排序.选 ...
- Ext.state.Manager.setProvider(new Ext.state.CookieProvider())
Ext.state.Manager.setProvider(new Ext.state.CookieProvider()) 初始化Ext状态管理器,在Cookie中记录用户的操作状态,如果不启用,象刷 ...
- Java 复制大文件方式(nio2 FileChannel 拷贝文件能力测试)
目前为止,我们已经学习了很多 Java 拷贝文件的方式,除了 FileChannel 提供的方法外,还包括使用 Files.copy() 或使用字节数组的缓冲/非缓冲流.那个才是最好的选择呢?这个问题 ...
- windowsxp下的mysql集群技术
1.准备工作 a.系统环境为:Windows Xp系统 b.mysql版本为:MySQL Server 5.5 c.mysql cluster版本为:mysql-cluster-gpl-noinsta ...
- 进程外Session保存和全局文件错误捕获
Session深入学习,进程外的Session 当用户登入页面跳转时候,我们会将用户登录信息保存在服务端一个键值对的Session(Session池)中.那么Session池又是在哪里呢? 它最终默认 ...
- 【BZOJ】【2694】Lcm
数论/莫比乌斯反演/线性筛 题解:http://www.cnblogs.com/zyfzyf/p/4218176.html JZPTAB的加强版?感觉线性筛好像还是不怎么会啊……sad 题目记下来,回 ...
- 混沌数学之Standard模型
相关软件混沌数学之离散点集图形DEMO 相关代码: class StandardEquation : public DiscreteEquation { public: StandardEquatio ...
- 充满未来和科幻的界面设计FUI在国内还没有起步在国外早起相当成熟
所谓FUI可以是幻想界面(Fantasy User Interfaces).科幻界面(Fictional User Interfaces).假界面(Fake User Interfaces).未来主义 ...
- iOS开发-UITableView常用方法
UITableView常用来展示数据,类似于Android中的ListView,相对于Android中的ListView而言,UITableView的实现是非常简单,继承UITableViewData ...
- xUtils如何通过注解对FindViewById进行封装
之前讲到了介绍了一下xUtils的基本使用方法,今天我们就来详细介绍一下关于xUtils中的ViewUtils模块. 在ViewUtils模块中我们首先看到的是它采用了一种注解的方式进行声明,那么我们 ...