Javascript node.js-通过apache的静态内容?未通过节点找到
我不熟悉node.js,只是在玩socket和node 我已安装此服务器: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(
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的内容,您会看到。