【问题标题】:Elastic Beanstalk access to local diskElastic Beanstalk 访问本地磁盘
【发布时间】:2016-04-04 00:04:30
【问题描述】:

尝试在 EC2 实例上使用 Node.js 打开文件时收到错误消息:

{ "errno": -13, "code": "EACCES", "syscall": "open", "path": "/tmp/uploads/50a4386c-5cdf-44ec-acb9-5d064b4be96a.jpeg" }

根据node docs EACCES 发生在“尝试以文件访问权限禁止的方式访问文件”时。这表明运行 Node.js 应用程序的用户无权访问 /tmp。我还尝试写信给/var/app/current,这是 Elastic Beanstalk 部署 Node.js 应用程序源的地方。两个位置都不可写。

如何写入由 Elastic Beanstalk 部署的 Amazon Linux EC2 实例的本地磁盘?

相关实例信息:

EBS-optimized: False Root device type: ebs Root device: /dev/sda1 Block devices: /dev/sda1

适用的政策:

AmazonEC2FullAccess AWSElasticBeanstalkFullAccess

/tmp属性:

drwxrwxrwt 20 root root 4096 Dec 30 03:50 tmp

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    原来里面的uploads目录,是用

    制作的

    mkdirp('/tmp/uploads', { mode : 0o777 })(docs)

    拥有权限:

    drwxr-xr-x 2 root root 4096 Dec 30 01:37 uploads

    奇怪的是,创建目录的用户(即运行节点进程的用户)仍然无法访问该目录。 chmod 777 /tmp/uploads 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2014-08-21
      • 2020-10-06
      • 1970-01-01
      • 2014-08-10
      • 2013-06-17
      • 2019-10-01
      • 1970-01-01
      • 2010-10-20
      • 2011-05-23
      相关资源
      最近更新 更多