由 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。如果有人对此有解决方案, 这将是一个很大的帮助。
我正在用 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。如果有人对此有解决方案, 这将是一个很大的帮助。