首页 > 代码库 > rabbitmq, windows/linux, c/c++/node.js/golang/dotnet

rabbitmq, windows/linux, c/c++/node.js/golang/dotnet

官网:http://www.rabbitmq.com/

zeromq 相当于 message backbone,而rabbitmq相当于message broker。有的应用系统中,二者并存。

 

(1)windows安装

windows下载:rabbitmq-server-3.6.6.exe,需要先安装erlang

然后:

cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin

rabbitmq-plugins.bat    enable rabbitmq_management

rabbitmqctl.bat list_users

rabbitmqctl.bat add_user                 root      123456

rabbitmqctl.bat list_users

rabbitmqctl.bat set_user_tags          root       administrator

rabbitmqctl.bat change_password     guest     123456

rabbitmqctl.bat status

web访问:http://localhost:15672

(2)linux安装

 

sudo apt-get install erlang-nox esl-erlang socat erlang

sudo dpkg -i rabbitmq-server_3.6.6-1_all.deb

常用指令:

invoke-rc.d rabbitmq-server stop

invoke-rc.d rabbitmq-server start

rabbitmqctl status
rabbitmq-plugins enable rabbitmq_management

rabbitmqctl list_users
rabbitmqctl add_user root 123456
rabbitmqctl set_user_tags root administrator
rabbitmqctl change_password guest 123456
rabbitmqctl list_users
rabbitmqctl status

rabbitmqctl set_permissions -p / root ‘.*‘ ‘.*‘ ‘.*‘

更改web端口,参考:/usr/share/doc/rabbitmq-server/rabbitmq.config.example

拷贝到/etc/rabbitmq/rabbitmq.config,这是erlang语法,修改内容如下:

[
    {rabbitmq_management, [{listener, [{port, 12345}]}]},
    {rabbit, [{tcp_listeners, [12346]}]}
].

这是修改web控制台端口为12345和数据服务端口为12346,重启服务

 

(3)各种编程语言sdk和例程:

http://www.rabbitmq.com/devtools.html

http://www.rabbitmq.com/getstarted.html

 

(4)c/c++接口例程

 c语言接口:https://github.com/alanxz/rabbitmq-c

mkdir build

cd build/

cmake ..

sudo cmake --build . --target install

参考:http://blog.csdn.net/yasi_xi/article/details/8644578

注意:由于之前设置了guest密码,对应程序(amqp_listen.c和amqp_sendstring.c)里面也需要修改

c++接口有2个:

https://github.com/alanxz/SimpleAmqpClient

https://github.com/akalend/amqpcpp

未用到以后再测

 

(5)go语言接口

download: https://github.com/streadway/amqp

tutorial: https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/go

 

上面网页写到很详细,就不重复了

 

(6)node.js

https://github.com/squaremo/amqp.node

https://github.com/squaremo/rabbit.js

貌似前者使用的较多

 

(7)dotnet

https://github.com/EasyNetQ/EasyNetQ

 

rabbitmq, windows/linux, c/c++/node.js/golang/dotnet