如何在Windows上构buildrabbitmq服务器

我如何在Windows上安装RabbitMQ?

从完整的捆绑安装

捆绑zip文件包含下一节列出的所有文件,包括Erlang系统安装程序和RabbitMQ代理二进制发行版,.Net客户端,以及Java librabbitmq客户端库的存档文件[ http:// www。 rabbitmq.com/download.html]

  1. 安装windows erlang5.7.4 [otp_win32_R13B03]。
  2. 从下载页面下载rabbitmq-server-windows-2.0.0.zip。

3. zip文件中包含一个名为rabbitmq_server-2.0.0的目录。 您应该将此文件夹解压到适用于应用程序文件的某个位置,例如C:\ Program Files \ RabbitMQ。

4.一旦文件被成功提取,你应该得到一个类似于C:\ Program Files \ RabbitMQ \ rabbitmq_server-2.0.0的结构。

  1. 设置环境变量ERLANG_HOME指向你的Erlang目录(例如C:\ Program Files \ erl5.7.4)

6.默认RABBITMQ_BASE路径为Windows C:\ Documents and Settings \ User \ Application Data \ RabbitMQ。 您的所有要求的详细信息,如日志文件等存储在这个目录。

运行服务器作为应用程序

1.rabbitmq_server-2.0.0 \ sbin,然后双击rabbitmq-server.bat文件。

将服务器作为服务运行

1.以管理员身份登录并在安装代理的sbin目录中打开命令shell(cmd.exe)。 通过执行安装服务

rabbitmq-service.bat安装

2.确保名称为RABBITMQ_SERVICENAME的服务现在出现在服务控制面板(services.msc)中。

有关更多详细信息,请访问http://www.rabbitmq.com/install.html

RabbitMQ被设计为在Unix机器上构建(我们经常使用各种Linux发行版和OSX)。 社区也在FreeBSD上进行测试。

也就是说,建立在Windows上当然是可以的,但是你需要一个类似POSIX的环境。 最简单的方法是使用cygwin:

  • 从这里安装最新的Erlang,
  • 从这里获取Cygwin安装程序,
  • 运行它来安装基本系统; 确保你也有make ,选择libxslt / xlstprocmercurial ; 如果您忘记了任何东西,您可以安全地重新运行安装程序以获取缺少的程序;
  • 更新PATH以包含python和erl(所以,添加一些像C:\Program Files\erl5.8.3\binC:\Python27\bin ;当然,你的路径可能会不同)。 通过运行pythonerl检查一切正常,
  • 通过Mercurial获得RabbitMQ 源代码 (您还需要代码 )
  • 从一个cygwin shell中,在rabbitmq-server目录下运行make

最后两步是普通的Unix安装过程。 请参阅官方说明了解更多详情。

另外,请注意,您可能必须从正常的命令提示符运行代理( scripts/rabbitmq-server.bat ),而不是使用cygwin shell。 这是由于Erlang和Cygwin认为根目录是/之间的差异造成的。

如果您有任何问题,请发送邮件至rabbitmq-discuss邮件列表。 开发人员重点回答在那里发布的所有查询。

除非你打算开发Erlang代码,否则没有太多的意义,在这种情况下,你应该花一两天的时间学习Erlang的基础知识。 之后,由于RabbitMQ是用Erlang编写的,所以它不会那么麻烦。

我在Linux上构建了Erlang,但是在Windows上我只是安装了二进制包,因为它对我来说只是一个测试/开发环境。 在Linux上,我遇到了一些问题,如何安装二进制文件,在Windows上花了一些时间来弄清楚在哪里放置配置文件,以便我可以加载插件。

无论如何,你不要在Windows或Linux上运行RabbitMQ,因为这种方式不行。 像许多Erlang应用程序一样,RabbitMQ在云(您的私有云)上运行,并且真正希望成为运行共享MQ代理服务的多个服务器集群的一部分。

请参阅Google技术讲座的幻灯片演示文稿,并查看幻灯片17中的图表。您将在集群中运行RabbitMQ的4台服务器为本地客户端提供服务,本地客户端可能是同一地理区域中的多个数据中心。 本地流量不会跨越集群,但应用程序不需要做任何特殊的事情,以便通过集群发送/接收消息。

幻灯片22总结了“使Erlang消失”。 你得到了Erlang的所有好处,而不必学习任何东西。 只需使用AMQP消息和许多进程。 告别线程。

不要打扰。 显然这是“不知何故”可能与Cygwin,但我也放弃了,因此失去了兴趣。 这是植根于Erlang文化的常见问题,似乎并不了解跨平台开发。