Node.js nodejs express在几天后停止工作

Node.js nodejs express在几天后停止工作,node.js,express,Node.js,Express,在使用NodeJS和Express建立网站后,它可以正常工作几天,但随后就停止工作了。停止工作意味着当我们向后端发送post请求或get请求时,什么都不会发生。发送表单后,需要设置一个会话,然后重定向到另一个页面,但它保持在同一页面上。我使用express session和MemoryStor。npm或节点控制台中没有日志或错误 app.js: import debug=require('debug'); 导入快件=需要(“快件”); 导入路径=需要(“路径”); 从“./routes/inde

在使用NodeJS和Express建立网站后,它可以正常工作几天,但随后就停止工作了。停止工作意味着当我们向后端发送post请求或get请求时,什么都不会发生。发送表单后,需要设置一个会话,然后重定向到另一个页面,但它保持在同一页面上。我使用express session和MemoryStor。npm或节点控制台中没有日志或错误

app.js:

import debug=require('debug');
导入快件=需要(“快件”);
导入路径=需要(“路径”);
从“./routes/index”导入路由;
从“./routes/test1”导入test1;
从“/routes/test2”导入test2;
从“/routes/test3”导入test3;
导入头盔=需要(“头盔”);
var-app=express();
var bodyParser=require('body-parser');
var会话=需要(“快速会话”);
var cookieParser=require('cookie-parser');
var MemoryStore=require('MemoryStore')(会话);
var设备=需要(“快速设备”);
var compression=需要(‘压缩’);
use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());//支持JSON编码的实体
app.use(device.capture({parseUserAgent:true}));
app.use(express.json());//支持JSON编码的实体
app.use(express.urlencoded({extended:true}));//支持URL编码的实体
使用(cookieParser());
app.use(compression());
应用(头盔());
应用程序集(“信任代理”,1);
应用程序使用(会话)({
秘密:"测试",,
resave:false,
商店:新记忆商店({
检查周期:86400000//每24小时删除一次过期条目
}),
saveUninitialized:true,
曲奇:{
安全:false,//用于https
最大年龄:60000,
expires:新日期(Date.now()+(604800000))//7
}
}));
Array.prototype.unique=函数(){
var a=this.concat();
对于(变量i=0;i{
const oldRedirect=res.redirect;
res.redirect=函数(…args){
如果(请求会话){
session.save(()=>Reflect.apply(oldRedirect,this,args));
}否则{
Reflect.apply(oldRedirect、this、args);
}
}
});
//开发错误处理程序
//将打印stacktrace
if(app.get('env')='development'){
应用程序使用((错误:任意、请求、恢复、下一步)=>{
res.status(err['status']| | 500);
res.render('错误'{
message:err.message,
错误:错误
});
});
}
//生产错误处理程序
//没有堆栈跟踪泄漏给用户
应用程序使用((错误:任意、请求、恢复、下一步)=>{
资源状态(资源状态| | 500);
res.render('错误'{
message:err.message,
错误:{}
});
});
应用程序集('port',process.env.port | | 3000);
var server=app.listen(app.get('port'),函数(){
调试('Express server侦听端口'+server.address().port);
});

您可能需要使用process manager。如果Node.js应用程序崩溃怎么办?您将如何确保它重新启动?Process manager可以通过保持其正常运行来确保这一点

PM2是Node.js应用程序的生产流程管理器,内置负载平衡器。它允许您永远保持应用程序的活力,在不停机的情况下重新加载应用程序,并简化常见的系统管理任务

希望这有帮助