我是node.js的新手,只是在玩socket和node。
我有这台服务器:
var fs = require('fs')
, http = require('http')
, socketio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(1234, function() {
console.log('Listening at: http://localhost:1234');
});
socketio.listen(server).on('connection', function (socket) {
socket.on('message', function (msg) {
console.log('Message Received: ', msg);
socket.broadcast.emit('message', msg);
});
});
我看到它没有加载普通的html静态内容,比如来自server.js文件夹的css和js文件。
如何让node.js加载这些?
或者我如何重写我的服务器,以便index.html由apache提供服务并且所有的消息ping是通过节点完成的?
答案 0 :(得分:0)
如果您正在制作一个静态内容不多的简单网站,您可以使用node + express发送所有内容。如果你的网站图像/视频/等很重,那么使用apache来处理这些事情是一个很好的解决方案。请记住,节点和apache不能同时侦听端口80.设置apache以侦听端口80,然后使用mod_proxy(htaccess中的[P]标志)将要转发的请求重定向到不同端口上的节点。 / p>