[英]Mount EFS to wp-content on elastic beanstalk
所以我在 EB 上设置 Wordpress 站点时遇到问题。 我让 EFS 正确安装在 wp-content/uploads/wpfiles ( https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-hawordpress-tutorial.html ) 上,但这只允许页面存储而不是插件。 是否可以将整个 wp-content 文件夹挂载到 EFS 上,我已经尝试过,但到目前为止失败了
我不确定这个问题是否得到解决并且它悄无声息地过去了。 我和你有同样的问题,但有不同的错误。 我的知识相当有限,所以请对我所说的持保留态度,根据我在您的日志中看到的内容,问题是您的实例无法看到服务器。 我认为可能是您的 EB 应用程序部署在与 EFS 不同的可用区中。 我的意思是,也许您有 AZ a、b 和 d 的挂载目标,并且您的 EB 正在 AZ c 中部署。 我希望这有帮助。
我尝试了一种不同的方法(它基本上做同样的事情,但我手动链接每个子文件夹而不是 wp-content 文件夹),为了它起作用我删除了/var/app/ondeck
中的原始文件夹(即最终将被复制到/var/app/current/
这是提供服务的文件夹)。 当然,一旦完成,您的 Wordpress 将无法运行,因为它没有任何主题,这里的解决方案是快速登录到运行 ElasticBeanstalk 应用程序的 EC2 实例,然后手动将内容复制到挂载的EFS(在我的例子中是/wpfiles
文件夹)。 要连接到 EC2 实例(您可以在您的 EB 健康配置下找到实例 ID),您可以点击此链接并安装您的 EFS,您可以点击此链接。 当然,如果配置有效,你就不必挂载它,因为它虽然是空的,但已经挂载了。 这是我的配置文件的内容:
option_settings:
aws:elasticbeanstalk:application:environment:
EFS_NAME: '`{"Ref" : "FileSystem"}`'
MOUNT_DIRECTORY: '/wpfiles'
REGION: '`{"Ref": "AWS::Region"}`'
packages:
yum:
nfs-utils: []
jq: []
files:
"/tmp/mount-efs.sh" :
mode: "000755"
content: |
#!/usr/bin/env bash
mkdir -p $MOUNT_DIRECTORY
EFS_REGION=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.REGION')
EFS_NAME=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.EFS_NAME')
MOUNT_DIRECTORY=$(/opt/elasticbeanstalk/bin/get-config environment | jq -r '.MOUNT_DIRECTORY')
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $EFS_NAME.efs.${EFS_REGION}.amazonaws.com:/ $MOUNT_DIRECTORY || true
mkdir -p $MOUNT_DIRECTORY/uploads
mkdir -p $MOUNT_DIRECTORY/plugins
mkdir -p $MOUNT_DIRECTORY/themes
chown webapp:webapp -R $MOUNT_DIRECTORY/uploads
chown webapp:webapp -R $MOUNT_DIRECTORY/plugins
chown webapp:webapp -R $MOUNT_DIRECTORY/themes
commands:
01_mount:
command: "/tmp/mount-efs.sh"
container_commands:
01-rm-wp-content-uploads:
command: rm -rf /var/app/ondeck/wp-content/uploads && rm -rf /var/app/ondeck/wp-content/plugins && rm -rf /var/app/ondeck/wp-content/themes
02-symlink-uploads:
command: ln -snf $MOUNT_DIRECTORY/uploads /var/app/ondeck/wp-content/uploads && ln -snf $MOUNT_DIRECTORY/plugins /var/app/ondeck/wp-content/plugins && ln -snf $MOUNT_DIRECTORY/themes /var/app/ondeck/wp-content/themes
我在这里使用另一个配置文件来创建我的 EFS,如果您已经创建了 EFS,则必须将EFS_NAME: '`{"Ref": "FileSystem"}`'
更改为EFS_NAME: id_of_your_EFS
。
我希望这对user3738338 有所帮助。
您可以按照此链接进行操作 - https://github.com/aws-samples/eb-php-wordpress/blob/master/.ebextensions/efs-mount.config
只需记下它使用上传,您可以将其更改为 wp-content。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.