[英]Node.js / Nginx : Request timesout at Nginx before processing finishes at node.js
我有一個Nginx/Node.js
服務器設置。 基本過程是我從瀏覽器將文件上傳到nginx
,然后將其轉發到node.js
Node.js
處理該文件,並通過nginx
將輸出返回到瀏覽器。
盡管大多數文件都可以正常工作,但是當上傳的文件太大時,它就會崩潰。 收到文件后,我的節點開始處理該文件,但在該節點完成其處理之前,請求在nginx處超時。 該節點繼續運行並成功完成了該過程,但對我來說毫無用處。
我該怎么做才能解決我的問題? 增加Nginx超時(但達到什么限制)? 嘗試加快在節點上的處理速度(我已經在嘗試這樣做,但是我只能在一定程度上做到這一點)? 嘗試使用節點模塊socket.io
(我不知道如何,但是我什至不確定它是否會工作)?
提前thnx!
您的節點進程不應該等待處理完成,直到它返回響應。 通過排隊處理后台工作程序中的文件。 您甚至可以更進一步,直接使用Amazon S3之類的文件直接上載,而不用碰堆棧,然后將文件排隊處理。
去耦是解決方案。 有不同的實現方法。
編輯:
這是我處理文件上傳的具體示例。
processing
命令(其他流行的選項包括RabbitMQ)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.