【发布时间】:2017-01-05 17:10:14
【问题描述】:
我们创建了一个实时聊天应用程序,包含 socket.io、nodejs 和 mongodb。它在本地和模数服务器上运行良好,但在 AWS 上无法按预期运行。
套接字在大约 60 秒后随机断开连接并出现 ping 超时。我还设置了“心脏超时”和“心脏间隔”,但仍然断开连接。
这是附加的节点配置文件,
var config = {
local : {
mode : "LOCAL",
port : 8080,
db_path : "mongodb://localhost/local_db",
site_loc : "http://dummy.local/",
api_loc : "http://dummy.dummy.com/"
},
dev : {
mode : "DEV",
port : 8080,
db_path : "mongodb://dbath:27017/dev_db",
site_loc : 'http://dummy.dummy.com/',
api_loc : 'http://dummy.dummy.com/'
},
stage : {
mode : "STAGE",
port : 3000,
db_path : "mongodb://localhost:27017/stage_db",
site_loc : 'http://dummy.dummy.com/',
api_loc : 'http://dummy.dummy.com/'
},
production : {
mode : "PROD",
port : 443,
db_path : "mongodb://localhost:27017/live_db",
site_loc : 'https://dummy.com/',
api_loc : 'https://dummy.dummy.com/'
}
}
module.exports = function(mode) {
return config[mode || process.argv[2]] || config.local;
}
【问题讨论】:
-
你在使用负载均衡器吗?
-
不,我还没有添加负载均衡器。
-
你在使用 nginex 吗?您也可以粘贴有问题的 socket.io 配置文件
-
不,aws 与 ubuntu 14.04,t2 micro。套接字没有配置文件,节点程序只使用3000端口
-
你能粘贴socket.io的配置文件吗?
标签: node.js amazon-web-services amazon-ec2 socket.io