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

CentOS 下简单利用Node.js和rabbitmq模块

2013-01-28 11:48 555 查看


1.安装更新源

为了通过yum安装erlang,需要安装新的更新源

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm


2.安装erlang

yum installerlang


3.安装rabbit-server

rpm --importhttp://www.rabbitmq.com/rabbitmq-signing-key-public.asc
yum installrabbitmq-server-3.0.1-1.noarch.rpm

安装rabbitmq-server管理页面

rabbitmq-pluginsenable rabbitmq_management

重启rabbitmq-server服务

通过访问http://server-name:15672/ 访问管理页面,默认登录账号密码分别为guest,guest




4.安装node.js下的rabbit-server

npm install amqp


5.简单测试rabbitmq模块

amqp-consumer.js

/**
* Created with JetBrains WebStorm.
* User: hexie
* Date: 13-1-28
* Time: 上午10:39
* To change this template use File | Settings | File Templates.
*/
var http = require('http'),
url = require('url'),
amqp = require('amqp');

var rabbitMQ = amqp.createConnection({ host: '127.0.0.1' });

rabbitMQ.addListener('ready', function(){
var queue = rabbitMQ.queue('',{'exclusive':true}, function(q){

//get all messages for the rabbitExchange
q.bind('rabbitExchange','#');
console.log("inqueue")
// Receive messages
q.subscribe(function (message) {
// Print messages to stdout
console.log("received message");
console.log(message.data.toString());
});
});

});


amqp-generator.js

/**
* Created with JetBrains WebStorm.
* User: hexie
* Date: 13-1-28
* Time: 上午10:40
* To change this template use File | Settings | File Templates.
*/
var http = require('http'),
url = require('url'),
amqp = require('amqp');

var exchange

function sendMsg(msg)
{
console.log(msg)
if(exchange)
{

exchange.publish('key.a',msg)

}
else
{
console.log("exchange not around now...")
}
}

var server = http.createServer(function(req, res){
// your normal server code
var path = url.parse(req.url).pathname;

sendMsg('hello node & rabbitmq');
res.writeHead(200, {'Content-Type':'text/html'})
res.write('OK', 'utf8');
res.end();
});

var rabbitMQ = amqp.createConnection({ host: '127.0.0.1' });

rabbitMQ.addListener('ready', function(){

// create the exchange if it doesnt exist
exchange = rabbitMQ.exchange('rabbitExchange',{'type':'fanout'})

});

server.listen(8081);


打开浏览器,输入网址http://serverip:8081

友情提示,要启动好你的rabbitmq-server 服务器,如果是远程连接,记得关防火墙

运行正常会见到以下信息

inqueue

received message

hello node & rabbitmq

最后附上node.js的rabbitmq模块的api
https://github.com/postwait/node-amqp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: