Amazon web services 部署时EFS符号链接失败
因此,我使用AWS Elastic Beanstalk为我的PHP应用程序提供服务。我想安装EFS,以便永久存储通过我的应用程序上传的图像。 我已经创建了.ebextensions文件夹并创建了一个名为mount.config的文件,代码如下Amazon web services 部署时EFS符号链接失败,amazon-web-services,amazon-elastic-beanstalk,config,amazon-efs,ebextensions,Amazon Web Services,Amazon Elastic Beanstalk,Config,Amazon Efs,Ebextensions,因此,我使用AWS Elastic Beanstalk为我的PHP应用程序提供服务。我想安装EFS,以便永久存储通过我的应用程序上传的图像。 我已经创建了.ebextensions文件夹并创建了一个名为mount.config的文件,代码如下 packages: yum: nfs-utils: [] jq: [] files: "/tmp/mount-efs.sh" : mode: "000755" content:
packages:
yum:
nfs-utils: []
jq: []
files:
"/tmp/mount-efs.sh" :
mode: "000755"
content: |
#!/usr/bin/env bash
mkdir -p /mnt/efs
EFS_NAME=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_NAME')
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $EFS_NAME:/ /mnt/efs || true
mkdir -p /mnt/efs/questions
chown webapp:webapp /mnt/efs/questions
commands:
01_mount:
command: "/tmp/mount-efs.sh"
container_commands:
01-symlink-uploads:
command: ln -s /mnt/efs/questions /var/app/ondeck/images/
在最后一行无法创建符号链接之前,一切正常
到目前为止,我所尝试的:
- 在更改ondeck->current时直接在计算机上运行命令。这个很好用
- 删除EC2实例并添加新实例。仍然失败
有什么建议吗?原因可能是什么?好的,我通过将ondeck替换为staging 并在容器\u命令下添加此行:
01-change-permission:
command: chmod -R 777 /var/app/staging/images