2016-11-22 58 views
0

我正在用NodeJS將文件寫入到我的public_html目錄的子目錄中。由NodeJS編寫的文件從服務器提供404時提供404

我知道該目錄存在,並且該文件存在,因爲我可以在FTP上查看它並下載並查看它的內容,但是當我嘗試在瀏覽器中訪問它時,我得到了404。我可以通過FTP將文件上傳到該目錄中並在瀏覽器中查看它們沒有問題。

文件權限是644,它只是一個靜態的JSON文件。它是用'fs'模塊編寫的,寫入文件時我沒有收到任何錯誤。

任何幫助將是偉大的。

fs.writeFile(dir + "/" + matchId + '.json', JSON.stringify(lineup), function(err) { 
    if (err) return console.log(err); 
    console.log("File written:", dir + "/" + matchId + '.json'); 
}); 
+0

什麼是子目錄權限? – IamNguele

+0

如果子目錄是777,我只能寫這個文件,但我覺得不應該是這樣的 – SimonTheEngineer

+0

你應該用你創建文件的代碼嗎? – IamNguele

回答

0

問題的根源在於文件的所有權。我使用的是不同於Nginx Web服務器的用戶運行NodeJS應用程序。我將NodeJS應用程序移到了相同的用戶下,現在它可以工作。

注 - 最初我嘗試將運行NodeJS應用程序的用戶添加到與Web服務器相同的組,但即使文件權限爲664也無效。如果某人有解決方案,那將是很大的幫助。