node.js - 通过apache的静态内容?没有通过节点找到

时间:2013-12-28 19:31:22

标签: javascript node.js apache

我是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是通过节点完成的?

1 个答案:

答案 0 :(得分:0)

如果您正在制作一个静态内容不多的简单网站,您可以使用node + express发送所有内容。如果你的网站图像/视频/等很重,那么使用apache来处理这些事情是一个很好的解决方案。请记住,节点和apache不能同时侦听端口80.设置apache以侦听端口80,然后使用mod_proxy(htaccess中的[P]标志)将要转发的请求重定向到不同端口上的节点。 / p>