由 NodeJS 编写的文件在从 Web 服务器提供服务时给出 404

File written by NodeJS gives 404 when served from web server

我正在用 NodeJS 将文件写入 public_html 目录的子目录中。

我知道目录存在并且文件存在,因为我可以在 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');
});

问题的根源是文件所有权。我是 运行 与 Nginx Web 服务器不同的用户下的 NodeJS 应用程序。我移动了 NodeJS 应用程序,所以它们在同一个用户下,现在它可以工作了。

注意 - 最初我尝试将用户 运行 NodeJS 应用程序添加到与 Web 服务器相同的组,但这没有用,即使文件权限为 664。如果有人对此有解决方案, 这将是一个很大的帮助。