使用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)
我想要一个服务器 运行 在数据库中创建一些条目。我以前没有这样做过。我使用 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)