2016-11-22 57 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也无效。如果某人有解决方案,那将是很大的帮助。