您的位置:首页 > 运维架构 > Linux

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

2016-12-05 00:30 701 查看
官网: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: