Меня спросили, как сохранить все медиа-ресурсы magento в Amazon S3. Я подумал об использовании PHP Stream Wrapper следующим образом: https://github.com/punkave/aS3StreamWrapper и просто установил папку мультимедиа s3: \ mybucket \ mediaFolder
У кого-нибудь есть опыт с этим?
Или лучше использовать что-то вроде этого: https://github.com/sstoiana/magento-s3 Но это расширение выглядит не очень хорошо. Любые другие рекомендации?
amazon-web-services
media
Фабиан Блехшмидт
источник
источник
Ответы:
кажется, что эти парни находят решение: ( http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/ )
Существует два возможных подхода: один - заставить Magento выдвинуть все медиаресурсы на S3 по мере их создания, а другой - просто смонтировать каталог медиа в корзину S3 и позволить Magento думать, что он записывает на локальный диск. Мы выбрали последнее.
В итоге мы использовали инструмент под названием s3fs, который использует более широкую технологию fuse. С некоторой довольно простой конфигурацией (описанной ниже) вы можете запустить и запустить s3fs. Будьте осторожны, чтобы не вводить жесткие коды имен сегментов S3 или учетных данных доступа к API, если вы используете AWS или другого поставщика PAAS.
Убедитесь, что вы заменили следующие переменные значениями для вашей конкретной конфигурации:
Вот установка:
источник
Расширение OnePica CDN очень удобно для этой функциональности и поддерживает не только S3. Цитата: «В настоящее время расширение интегрируется с Amazon S3, Coral CDN, Mosso / Rackspace Cloud Files и любым CDN, сервером или службой, поддерживающими FTP, FTPS или SFTP».
источник
Расширение OnePica CDN не является решением, оно работает только для образов продуктов, не говоря уже о том, что вам нужно установить правильный TTL для его собственного времени жизни кэша, которое истечет намного раньше, чем Magento по умолчанию. Все, что вы cms wysiwyg изображение будет в папке мультимедиа, но не с помощью S3, вы закончите тем, что загрузили все ваше изображение мультимедиа на S3.
Использование cloudfront будет хорошо, но вам все равно понадобится NFS для совместного использования мультимедийной папки на всех ваших интерфейсных и внутренних узлах. Или вам нужно создать собственный интерфейс для сохранения файла на S3, и вам также нужно обрабатывать ошибки (подумайте о том, кто-то может загрузить очень большой файл, может ли ваш код справиться с этим до истечения времени ожидания API S3)
Другой способ - просто сохранить хранилище мультимедиа в вашей дополнительной RDS (базе данных), и индивидуальный образ кэша изменения размера все равно сохранит в локальной папке мультимедиа сервера приложений, но это нормально, так как облачный фронт их уже кеширует.
источник
Я предпочитаю иметь отдельный узел администратора (admin.example.com) и хранить там папки с мультимедиа. Таким образом, вы сможете сэкономить на затратах NFS, а также на проблемах с синхронизацией и т. Д. Любой CDN (я использую cloudfront) можно затем подключить к папкам мультимедиа узла администратора и настроить для всех хранилищ.
Другими преимуществами использования узла администратора является то, что вы можете перемещать все кроны (переиндексация и другие кроны), запланированные задачи (импорт товаров, инвентаризация, синхронизация заказов и т. Д.) На узле администратора и сохранять обработку ЦП узлов внешнего интерфейса.
Изменить: как последний ответ на самом деле не ответил на вопрос ОП. Медиа-активы Magento в Amazon S3? Ну, я считаю, что у Magento уже так много накладных расходов на обработку, что я думаю, что было бы неплохо отказаться от синхронизации / потоковой передачи s3 и использовать вместо этого локальную папку мультимедиа.
источник
Что ж, теперь, когда прошло несколько лет, я думаю, важно отметить, что есть несколько доступных плагинов, которые будут перемещать и обслуживать активы из S3 / CDN.
Поиски в Google открывают множество вариантов.
Вот один из них на GitHub:
https://github.com/magefm/cdn
Вот один из них на торговой площадке Magento's Connect:
http://www.magentocommerce.com/magento-connect/aws-s3-cdn-for-product-images.html
Я еще не пробовал эти конкретные расширения, но буду для предстоящего проекта. Там тоже есть другие.
Я должен был бы не согласиться с @Sonassi, так как использование отдельного хранилища, чтобы позволить самую дешевую конфигурацию сервера при хорошей производительности, сегодня считается лучшей практикой. Например, просто используйте S3 для перемещения всего статического контента с вашего веб-сервера, что помогает серверу использовать намного меньшую пропускную способность и позволяет большему количеству одновременно работающих пользователей и меньшей общей потребляемой мощности сервера. И если вы находитесь в одном центре обработки данных, как большинство людей в эти дни, и говорите, что он находится в Далласе, то нет сомнений, что люди в Западной Европе будут обслуживаться намного быстрее с глобальной CDN, такой как Cloudfront. Таким образом, использование хранилища отдельно от вашего веб-сервера для снижения использования полосы пропускания позволяет вам использовать только 1 сервер, когда вам потребуется быстрее без этого подхода, а использование CDN значительно увеличит время глобальной загрузки.
источник
Нашел другое расширение, созданное arkadedigital https://github.com/arkadedigital/magento-s3
источник