我是编程新手,最近完成了一个部署在 AWS EC2 上的完整 MEAN 堆栈项目。
项目代码: https://github.com/Cryfoo/13
在服务器端,它使用 fs.writeFile 在每次游戏后保存游戏日志。
// Codes from server/config/game.js @ lines 1361~1364
var filename = 10000 + roomNum;
filename = filename + "_" + endTime;
fs.writeFile("server/logs/" + filename + ".txt", variables[roomNum].logs, function(err) {});
在客户端,它向服务器发送http请求并使用multer上传用户的个人资料图片。
// Codes from server/controllers/user.js @ lines 3~12
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, "./client/static/profile");
},
filename: function(req, file, callback) {
callback(null, file.originalname);
}
});
var upload = multer({storage: storage, limits: {fileSize: 5000000}}).single("profile");
它在我的笔记本电脑上本地运行良好,但这两个功能在 EC2 上不起作用。我假设问题与允许写入文件的权限有关。如何允许 fs 和 multer 在 EC2 中写入文件?
我对这个项目期间的所有问题进行了大量搜索,并在 stackoverflow 和 google 上找到了解决方案,但对于这个问题我无法弄清楚。如果我不够具体,我深表歉意(第一次在这里发布问题)。不过,提前感谢您的帮助。
如果是文件夹权限问题,那么您只需更改它们
sudo chmod a+x -R server/logs
编辑:您可能需要使用 sudo 运行命令
这个问题你解决了吗 请告诉我 我面临着同样的问题。