Node.js 서버에서 웹 응용 프로그램을 실행 중이며 항상 온라인 상태 여야하므로 영원히 사용하고 있습니다. 그러나 여기에 일정 기간이 지나면 무엇이 나옵니 까.Node.js - 서버가 연결을 종료 했습니까?
Error: Connection lost: The server closed the connection.
at Protocol.end (/home/me/private/app/node_modules/mysql/lib/protocol/Protocol.js:73:13)
at Socket.onend (stream.js:79:10)
at Socket.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:910:16
at process._tickCallback (node.js:415:13)
error: Forever detected script exited with code: 8
error: Forever restarting script for 3 time
나는 약 10 일 동안 똑바로 달리기가 2 번 더있다. 모든 서버에서 "keepalive"루프를 사용하여 매 5 분마다 "select 1"mysql 쿼리를 작성하지만 어떤 차이도 발생하지 않는 것처럼 보입니다.
아이디어가 있으십니까?
EDIT 1 개
내 다른 서버 유사한 오류를주고 있었다, 나는 그것이 "연결 시간 초과"라고 생각, 그래서 나는이 기능을 넣어 :
function keepalive() {
db.query('select 1', [], function(err, result) {
if(err) return console.log(err);
console.log('Successful keepalive.');
});
}
을 그리고 그것은 내 다른 두 개의 서버를 고정 . 하지만 내 주 서버에서 나는 여전히 위의 오류가 나타납니다. 내가 보는 당신이 관심이 무엇 코드 확실하지 않다
var https = require('https');
https.createServer(options, onRequest).listen(8000, 'mydomain.com');
: 내 메인 서버를 시작하고 방법은 다음과
이다. 기본적으로 서버는 REST API이며 항상 유지해야합니다. 약 2-5, 분당 10 건의 요청이 발생합니다.
응용 프로그램 스크립트에 몇 가지 오류가있는 것 같습니다. 영원히가 아니라 'node app.js'를 실행하여 오류를 봅니다. – Sriharsha
로그에 오류가 표시되지 않고 node-dev로 실행하려고했습니다. 이것은 내가 보는 유일한 오류 메시지입니다. –
앱에 대해 더 자세히 알려주세요. 그래서 우리는 무슨 일이 일어나고 있는지 이해할 수 있습니다. mysql에 대해 소켓을 열어 둔 채로 있습니까? 왜? 원격 데이터베이스입니까? – TheBronx