2016-11-25 38 views
0

我已經將Bitnami Parse堆棧部署到Google Cloud VM。這個堆棧基本上是Apache作爲代理運行,然後是一個MEAN堆棧處理解析服務器和儀表板等。Parse Server + Express - ParseError和站點死機/重新啓動的問題

當訪問儀表板併發送單獨的CURL請求來測試它是否全部可用時,一切似乎都正常工作。

然而,似乎有一個致命的缺陷。當Parse返回其中的一個錯誤,例如

{"code":101,"error":"Object not found."} 

Express將其視爲未捕獲的異常並死亡。現在我意識到這是故意行爲(有足夠的信息,爲什麼你不想在未捕獲的異常後堅持)

Bitnami堆棧使用Forever來運行分析服務器,但正如你可以從我將在下面包含日誌,但您仍然遇到拒絕連接的問題。

2016-11-25T11:41:16+00:00 DEBUG (7): {"code":101,"error":"Object not found."} 
2016-11-25T11:41:16+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused 
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused 
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused 
2016-11-25T11:41:17+00:00 DEBUG (7): Failed to connect to X.X.X.X: Connection refused 

與此同時,在永遠的記錄:

Error generating response. ParseError { code: 101, message: 'Object not found.' } code=101, message=Object not found. 
[object Object] 
/opt/bitnami/apps/parse/htdocs/node_modules/parse-server/lib/ParseServer.js:425 
     throw err; 
     ^

Error: EACCES: permission denied, open '/opt/bitnami/apps/parse/htdocs/logs/parse-server.info.2016-11-25' 
at Error (native) 
error: Forever detected script exited with code: 7 
error: Script restart attempt #1 
parse-server running on port 1337 
parse-dashboard running on port 4040 

所以,你可以看到正在返回緊跟一個解析錯誤,服務不可用,直到永遠可以重新啓動服務器解析。

此問題似乎也會影響所有用戶,所以如果一個用戶收到異常,所有用戶都會在短時間內失去連接。

所以問題是,這應該如何妥善處理? Parse + Express不是這種方式嗎?或者是否有一些配置節點或Express的方法來將API錯誤返回給請求者,而不需要快速死亡(並且不必陷入使用uncaughtException來保持節點活着的陷阱)

任何幫助將不勝感激,謝謝

+0

是不是它只是一個來自Parse的權限錯誤?我認爲Parse不能將信息日誌寫入日誌目錄。 – iKoala

+0

哇,我希望它是這麼簡單..然而,我沒有檢查/ opt/bitnami/apps/parse/htdocs/logs /上的權限,它由用戶節點正在運行,並且用戶擁有寫權限 –

+0

我認爲錯誤日誌說它是'Access Error'。如果它只是開發服務器,你是否嘗試將'/ opt/bitnami/apps/parse/htdocs/logs'設置爲777? – iKoala

回答

0

來自Forever的日誌表示它是EACCES錯誤,這意味着ParseServer無法訪問日誌文件並且無法寫入信息日誌。

Error: EACCES: permission denied, open '/opt/bitnami/apps/parse/htdocs/logs/parse-server.info.2016-11-25' 
at Error (native) 
error: Forever detected script exited with code: 7 
error: Script restart attempt #1 
parse-server running on port 1337 
parse-dashboard running on port 4040 

我覺得你有適當的權限更改/opt/bitnami/apps/parse/htdocs/logs使ParseServer可以寫在它的日誌文件。

+0

再次感謝,我已向Bitnami社區添加評論[論壇帖子](https://community.bitnami.com/t/problem-with-logging/43612/ 4)關於這個問題。 –