使用mysql的node js express服务器挂了,如何自动重启?

node js express server using mysql hangs up, how to restart automatically?

我想要一个服务器 运行 在数据库中创建一些条目。我以前没有这样做过。我使用 node.js,express 用于服务器,mysql 带有 node-mysql 并将其作为低成本网络托管服务托管在 uberspace 上。当我用 'nohup node app.js &' 启动服务器时,一切似乎都工作正常,但一段时间后,我不再在网络浏览器中收到来自服务器的任何响应。我想服务器只是挂了,我想自动重启它。这是我的 app.js:

的简单代码
var express = require('express');
var app = express();
var mysql = require('mysql');
var connection = mysql.createConnection({
    host    : '***',
    database: '***',
    user    : '***',
    password: '***',
    port: 3306
});
connection.connect(function(err) {
    console.log(err);
});


app.get('/test', function(req,res) {
    var post = {ID: 1, User: "testuser"};
    var query = connection.query('INSERT INTO testtabelle123 SET ?', post, function(err, results){
        console.log(err);
    });
    console.log(query.sql);
    res.send(query.sql);
});

我想我只需要在代码中做一些自动重启的小改动,并可能为此使用某种 middleware/tool。你能告诉我该怎么做吗?到目前为止,还没有找到关于 SO 的简单解决方案。

出现问题是因为 mysql 在没有连接时(一段时间后)正在关闭连接。添加此内容以使连接永远有效:

setInterval(function () {
    connection.query('SELECT 1', [], function () {})
}, 5000)

相关问题:https://github.com/felixge/node-mysql/issues/1337