tcp - 请求中止,Apache2,Pm2,强大
问题描述
我有一个用来上传视频文件的虚拟机。我创建了一个充当上传服务的 Web 应用程序,在 Node.js 上使用强大的 Express 框架,以及在前端使用进度条监控上传进度的 AJAX UI。我的反向代理是 Apache2,我的进程管理器是 pm2。
不幸的是,我的上传不断终止,通常在不到 10% 的上传完成之内。这是 Pm2 中的错误日志:
0|main | Error: Request aborted
0|main | at IncomingMessage.<anonymous> (/home/myWebApp/node_modules/formidable/lib/incoming_form.js:122:19)
0|main | at IncomingMessage.emit (events.js:198:13)
0|main | at abortIncoming (_http_server.js:462:9)
0|main | at socketOnClose (_http_server.js:455:3)
0|main | at Socket.emit (events.js:203:15)
0|main | at TCP._handle.close (net.js:607:12)
PM2 | App [main:0] exited with code [1] via signal [SIGINT]
PM2 | App [main:0] starting in -fork mode-
PM2 | App [main:0] online
0|main | Example app listening at http://localhost:3000
我已经尝试将 apache 上的 keepalive 超时增加到 30 秒并将它们减少到 1 秒,并将最大时间请求增加到 200,它仍然会使上传崩溃。更奇怪的是,每六分之一的上传都没有问题。
解决方案
推荐阅读
- session - MVC 控制器状态管理
- asp.net - 更新不同表 asp.MVC 上的记录
- azure - ESP32 MQTT_EVENT_DATA 不是
- .net - 查找资源字典时出错 (MahApps 2.4.7) (WPF)
- android - 使用可绘制图案作为按钮背景
- javascript - 如何在图表js中永久写入小div中每个项目符号的值
- python - ValueError: Input 0 is in compatible with layer model_2: expected shape=(None, 160, 160, 3), found shape=(32, 160, 3)
- python-3.x - ClientError:调用 SelectObjectContent 操作时发生错误(InvalidTextEncoding):需要 UTF-8 编码。读取 gzip 文件
- oracle - PLSQL 脚本不以两种不同的格式(即 .csv 和 .log)导出假脱机以获得相同的输出
- docker - GCP MIG 容器日志到 GCS 存储桶