试图自己解决这个问题,但失败了。
这个想法是我正在尝试运行 Yii 的“MjmChat”扩展(nodejs 上的聊天扩展)。实际上,它可以工作,但它只能在 8000 端口上工作。如果我设置任何不同于 8000 的端口,socket.io 将不为其 js 提供服务。
对于测试,我只是剪掉了所有的 nodejs 代码,所以它看起来像
var express = require('express');
var app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(8000);
它位于我的测试服务器(gs-test.ru)的网络根目录中所以当我运行时
root@gs-test:/var/www/fortis/data/www/gs-test.ru# node app.js
http://gs-test.ru:8000/socket.io/socket.io.js很好地服务于 js。
但!如果我尝试将 8000 更改为 8001、9000、9999,无论如何(当然,停止当前的 app.js 然后重新启动它) - 它不起作用!就是无法加载socket.io.js。
我尝试的每个端口都是免费的(使用#netstat -ntp 测试),所以我唯一的想法是问题出在 web 服务器配置中的 apache/nginx 或 smth 上(我在 fastvps.ru VDS 上运行 debian 挤压)。
提前致谢!