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

Javascript node.js-通过apache的静态内容?未通过节点找到,javascript,node.js,apache,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(

我不熟悉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都是通过node完成的?

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

添加express并使用内置命令。@adeneo apache方式如何?我更喜欢用它来提供静态内容。也可以在两者之间的某个地方使用php。如何重定向socket.io请求?既然可以使用Node,为什么还要使用Apache?@adeneo我想使用php库?只需要node.js+socket.io来推送通知。如何重定向websocket请求?端口问题对我来说很清楚,我只是不明白websocket在apache中是如何工作的。套接字使用它们自己的端口,不需要重定向它们。是的,但如果我在apache服务页面上,node.js如何知道通过ap服务的页面上发生了什么?阅读关于Sockets.io的内容,您会看到。