配置远程存储
“远程存储”模块提供了使用存储服务(如AWS S3)将媒体文件存储到永久性的远程存储容器中并安排导入和导出的选项。 默认情况下,Adobe Commerce应用程序会将媒体文件存储在包含该应用程序的同一文件系统中。 这对于复杂的多服务器配置而言效率低下,并可能导致在共享资源时性能降低。 使用远程存储模块,您可以将媒体文件存储在pub/media
目录中,并将文件导入/导出到远程对象存储的var
目录中,以利用服务器端映像大小调整功能。
远程存储选项
您可以使用remote-storage
选项和setup
CLI命令来配置远程存储。 remote-storage
选项使用以下语法:
--remote-storage-<parameter-name>="<parameter-value>"
parameter-name
引用特定的远程存储参数名称。 下表列出了可用于配置远程存储的参数:
remote-storage-driver
remote-storage-bucket
remote-storage-prefix
remote-storage-region
remote-storage-key
remote-storage-secret
存储适配器
默认存储位置位于本地文件系统中。 通过 存储适配器,您可以连接到存储服务并将文件存储到任何位置。 Commerce支持配置以下存储服务:
启用远程存储
您可以在Adobe Commerce安装期间安装远程存储,也可以将远程存储添加到现有Commerce实例。 以下示例演示了使用一组remote-storage
参数和Commerce setup
CLI命令的每个方法。 最低限度,您必须提供存储driver
、bucket
和region
。
-
示例:使用远程存储安装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"
限制
不能同时启用远程存储和数据库存储。 如果使用远程存储,请禁用数据库存储。
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