You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js服务器上传大图片超时504,如何调整PM2超时时间?

解决大文件上传504超时问题:PM2及应用层配置调整

当上传耗时超过1分钟的大图片时返回504错误,需要从PM2和Express应用两个层面调整超时设置:

PM2 超时时间调整

PM2默认超时时间为60秒,可通过以下两种方式修改:

1. 启动时直接指定参数

启动应用时通过--timeout参数设置超时时间(单位为毫秒),例如设置为5分钟:

pm2 start server.js --timeout 300000

2. 使用配置文件(推荐)

创建ecosystem.config.js配置文件,统一管理应用配置:

module.exports = {
  apps: [{
    name: "your-app",
    script: "server.js",
    timeout: 300000, // 5分钟超时
    // 可添加其他PM2配置项
  }]
};

通过配置文件启动应用:

pm2 start ecosystem.config.js

若应用已启动,需重启生效:

pm2 restart server.js --timeout 300000

Express 应用层超时调整

除PM2外,还需检查Express本身及上传中间件的超时设置:

1. 调整服务器超时

在server.js中修改服务器超时配置:

const server = app.listen(port, () => {
  logger.info(`Potential app listening on port ${port}`);
});
// 设置服务器超时为5分钟
server.timeout = 300000;

2. 文件上传中间件超时

针对你使用的ImageUpload中间件(如multer-s3),需配置上传超时:

// 以multer-s3为例
const ImageUpload = multer({
  storage: multerS3({
    s3: s3Client,
    bucket: "your-bucket-name",
    // 其他存储配置
    timeout: 300000 // 设置上传超时为5分钟
  })
});

调整完成后,重启PM2应用确保所有配置生效。

内容的提问来源于stack exchange,提问作者Kiran S youtube channel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:15:56