Nodejs、Express、Socket.io、Nginx

使用Express框架和Socket.io库将websocket搭建起来,并监听同一个端口,参考官方例子[1]就可以,非常简单。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(80);
// WARNING: app.listen(80) will NOT work here!

app.get('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});

io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});

Nginx同时作为Web Server和WebSocket Reverse Proxy

在配置Nginx的时候,遇到了很多的问题,并且在网上现在找不到一篇对这个问题讲解的非常清楚的文档。
比如:

阅读全文 »