【问题标题】:Strange behaviour of Mean.io on Azure VM‏Azure VM 上 Mean.io 的奇怪行为
【发布时间】:2014-11-23 14:27:35
【问题描述】:

我使用 Ubuntu 14.04 LTS 操作系统创建了一个 Azure 虚拟机。 我在这个虚拟机上安装了一个 mean.io 应用程序版本 0.3.3,使用 nginx 在端口 80 上代理 http 端口 3000 中的请求。 我在 Azure 门户中打开了一个端点,用于私有端口 3000 和公共端口 80 上的 TCP 协议。 我在 Azure VM 上安装了最新版本的节点。 数据库 (mongoDB) 托管在 compose.io 上。

使用 pm2 (https://www.npmjs.org/package/pm2) 我创建了一个运行应用程序的守护进程。

显然一切正常:cpu 没有负载,内存是空的(只有 100MB)。

但是一段时间后,node.js 无法处理请求。 我曾尝试在 localhost 3000 中进行“卷曲”,但没有任何响应。

问题仅在 Azure VM 中仍然存在:我在我的开发机器(ubuntu 14.04 桌面)和 Digital Ocean(ubuntu 14.04 服务器的另一个发行版)上尝试了相同的应用程序,具有相同的配置,并且一切正常,没有问题.

你能帮我找出问题吗?

【问题讨论】:

    标签: node.js azure mean.io


    【解决方案1】:

    我已尝试在同一台机器(Azure 上的 CoreOS 虚拟机)中对所有基础设施进行 dockerize:

    1 个包含平均应用的容器, 1个装有MongoDB的容器, 问题依旧!!!

    最后,我找到了解决方案:保持与 MongoDB 的连接。 我已经在这种模式下修改了平均应用程序的 server.js 文件:

    var options = {
    server: {
            socketOptions: { keepAlive: 1 }
            }
    };
    var db = mongoose.connect(config.db, options);
    

    在这种模式下,连接仍然存在,问题已解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多