配置远程存储

“远程存储”模块提供了使用存储服务(如AWS S3)将媒体文件存储到永久性的远程存储容器中并安排导入和导出的选项。 默认情况下,Adobe Commerce应用程序会将媒体文件存储在包含该应用程序的同一文件系统中。 这对于复杂的多服务器配置而言效率低下,并可能导致在共享资源时性能降低。 使用远程存储模块,您可以将媒体文件存储在pub/media目录中,并将文件导入/导出到远程对象存储的var目录中,以利用服务器端映像大小调整功能。

INFO
远程存储仅适用于Commerce版本2.4.2及更高版本。 请参阅2.4.2发行说明
INFO
在云基础架构上的Adobe Commerce上,远程存储模块具有​_有限的_​支持。 Adobe无法完全排除第三方storage adapter服务的故障。 有关为云项目实施远程存储的指导,请参阅在云基础架构上为Commerce配置远程存储

架构图像

远程存储选项

您可以使用remote-storage选项和setup CLI命令来配置远程存储。 remote-storage选项使用以下语法:

--remote-storage-<parameter-name>="<parameter-value>"

parameter-name引用特定的远程存储参数名称。 下表列出了可用于配置远程存储的参数:

命令行参数
参数名称
描述
默认值
remote-storage-driver
驱动因素
适配器名称
可能的值:
文件:禁用远程存储并使用本地文件系统​
aws-s3:使用Amazon Simple Storage Service (Amazon S3)
remote-storage-bucket
分段
对象存储或容器名称
remote-storage-prefix
前缀
可选前缀(对象存储内的位置)
remote-storage-region
区域
区域名称
remote-storage-key
访问密钥
可选访问密钥
remote-storage-secret
密钥
可选密钥

存储适配器

默认存储位置位于本地文件系统中。 通过​ 存储适配器,您可以连接到存储服务并将文件存储到任何位置。 Commerce支持配置以下存储服务:

启用远程存储

您可以在Adobe Commerce安装期间安装远程存储,也可以将远程存储添加到现有Commerce实例。 以下示例演示了使用一组remote-storage参数和Commerce setup CLI命令的每个方法。 最低限度,您必须提供存储driverbucketregion

  • 示例:使用远程存储安装Commerce

    code language-bash
    bin/magento setup:install --remote-storage-driver="aws-s3" --remote-storage-bucket="myBucket" --remote-storage-region="us-east-1"
    
  • 示例:在现有Commerce上启用远程存储

    code language-bash
    bin/magento setup:config:set --remote-storage-driver="aws-s3" --remote-storage-bucket="myBucket" --remote-storage-region="us-east-1"
    
TIP
有关云基础架构上的Adobe Commerce,请参阅在云基础架构上为Commerce配置远程存储

限制

不能同时启用远程存储和数据库存储。 如果使用远程存储,请禁用数据库存储。

bin/magento config:set system/media_storage_configuration/media_database 0

启用远程存储可能会影响您既定的开发体验。 例如,某些PHP文件函数可能无法按预期工作。 必须强制使用Commerce Framework进行文件操作。

禁止的PHP本机函数列表在magento-coding-standard存储库中可用。

迁移内容

为特定适配器启用远程存储后,可以使用CLI将现有​ 媒体 ​文件迁移到远程存储。

./magento2ce/bin/magento remote-storage:sync
INFO
同步命令只迁移pub/media目录中的文件,而不是 ​目录var中的导入/导出文件。 请参阅​_Commerce 2.4用户指南_​中的计划导入/导出
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c