首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的nodejs web服务出现以下错误

我的nodejs web服务出现以下错误
EN

Stack Overflow用户
提问于 2017-09-14 13:14:00
回答 1查看 131关注 0票数 0

这个错误是在我的web服务连续运行8-10个小时后出现的。

代码语言:javascript
复制
{
    "date": "Wed Sep 13 2017 21:22:25 GMT+0000 (UTC)",
    "process": {
        "pid": 24337,
        "uid": 1000,
        "gid": 1000,
        "cwd": "/path/to/my/file/",
        "execPath": "/path/to/my/nvm/.nvm/versions/node/v4.4.5/bin/node",
        "version": "v4.4.5",
        "argv": ["/path/to/my/nvm/.nvm/versions/node/v4.4.5/bin/node", "/path/to/my/file/app.js"],
        "memoryUsage": {
            "rss": 133083136,
            "heapTotal": 83753568,
            "heapUsed": 71120576
        }
    },
    "os": {
        "loadavg": [0.0029296875, 0.0146484375, 0.04541015625],
        "uptime": 397147
    },
    "trace": [{
        "column": 13,
        "file": "/path/to/my/file/node_modules/mysql/lib/protocol/Protocol.js",
        "function": "Protocol.end",
        "line": 109,
        "method": "end",
        "native": false
    }, {
        "column": 28,
        "file": "/path/to/my/file/node_modules/mysql/lib/Connection.js",
        "function": "",
        "line": 102,
        "method": null,
        "native": false
    }, {
        "column": 20,
        "file": "events.js",
        "function": "emitNone",
        "line": 72,
        "method": null,
        "native": false
    }, {
        "column": 7,
        "file": "events.js",
        "function": "Socket.emit",
        "line": 166,
        "method": "emit",
        "native": false
    }, {
        "column": 12,
        "file": "_stream_readable.js",
        "function": "endReadableNT",
        "line": 913,
        "method": null,
        "native": false
    }, {
        "column": 9,
        "file": "node.js",
        "function": "nextTickCallbackWith2Args",
        "line": 442,
        "method": null,
        "native": false
    }, {
        "column": 17,
        "file": "node.js",
        "function": "process._tickDomainCallback",
        "line": 397,
        "method": "_tickDomainCallback",
        "native": false
    }],
    "stack": ["Error: Connection lost: The server closed the connection.", "    at Protocol.end (/path/to/my/file/node_modules/mysql/lib/protocol/Protocol.js:109:13)", "    at Socket.<anonymous> (/path/to/my/file/node_modules/mysql/lib/Connection.js:102:28)", "    at emitNone (events.js:72:20)", "    at Socket.emit (events.js:166:7)", "    at endReadableNT (_stream_readable.js:913:12)", "    at nextTickCallbackWith2Args (node.js:442:9)", "    at process._tickDomainCallback (node.js:397:17)"],
    "level": "error",
    "message": "uncaughtException: Connection lost: The server closed the connection.",
    "timestamp": "2017-09-13T21:22:25.271Z"
}

找不到为什么会发生这种情况?我还检查了我的数据库是否空闲,但我的数据库是完美的,它没有空闲。那么还有什么在杀死我的节点进程呢?我已经做了几次研究,我不知道.then,我开始通过api记录请求,然后我发现了这个错误消息,这是在连续几个小时的处理之后才出现的。

EN

回答 1

Stack Overflow用户

发布于 2017-09-14 14:30:10

您可以在该堆栈跟踪中看到,MySQL服务器本身正在关闭与MySQL数据库的连接。

This issue介绍了服务器可能断开连接的原因,以及如何增加MySQL服务器超时。

描述如何在您的Node.js应用程序本身中处理此特定错误事件的Here is a similar question。这对于在断开连接时动态地重新连接到MySQL服务器非常有用。

如果按照第二个链接中的示例安全地重新连接,则应该能够防止应用程序出现这些数据库超时。与简单地延长超时长度相比,这是一种更严格的解决方案,尤其是当您不必完全依赖应用程序外部的行为时。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46211010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档