Me perguntaram como salvar todos os ativos de mídia magento no Amazon S3. Pensei em usar um PHP Stream Wrapper como este: https://github.com/punkave/aS3StreamWrapper e apenas defina a pasta de mídia como s3: \ mybucket \ mediaFolder
Alguém tem experiência com isso?
Ou melhor, use algo assim: https://github.com/sstoiana/magento-s3 Mas essa extensão não parece boa. Alguma outra recomendação?
amazon-web-services
media
Fabian Blechschmidt
fonte
fonte
Respostas:
parece que esses caras encontram uma solução: ( http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/ )
Existem duas abordagens possíveis, uma delas é o Magento enviar todos os ativos de mídia para o S3 à medida que são criados e o outro simplesmente montar o diretório de mídia em um bucket do S3 e permitir que o Magento pense que está gravando no disco local. Nós escolhemos o último.
Acabamos usando uma ferramenta chamada s3fs, que usa uma tecnologia mais ampla chamada fusível. Com alguma configuração bastante direta (descrita abaixo), você pode colocar o s3fs em funcionamento. Cuidado para não codificar nomes de bucket S3 ou credenciais de acesso à API se você estiver usando a AWS ou outro provedor de PAAS.
Certifique-se de substituir as seguintes variáveis por valores para sua configuração específica:
Aqui está a configuração:
fonte
A extensão CDN do OnePica é muito prática para esta funcionalidade e suporta mais do que apenas o S3. Citação: "Atualmente, a extensão se integra ao Amazon S3, Coral CDN, Mosso / Rackspace Cloud Files e qualquer CDN, servidor ou serviço que suporte FTP, FTPS ou SFTP."
fonte
A extensão CDN do OnePica não é a solução, ela funciona apenas para imagens de produtos, sem mencionar que você precisa definir o TTL correto para seu próprio tempo de vida útil do cache, que atingirá o tempo limite muito antes do Magento padrão. Tudo o que a imagem cms wysiwyg estará na pasta de mídia, mas não usando o S3, você acabará enviando toda a sua imagem de mídia para o S3.
Usar o cloudfront será bom, mas você ainda precisará de um NFS para compartilhar sua pasta de mídia entre todos os nós de front-end e de back-end. Ou você precisa criar sua própria interface para salvar o arquivo no S3 e também lidar com erros (pense em alguém fazer upload de um arquivo extremamente grande se o seu código pode lidar com isso antes do tempo limite da API do S3)
Caso contrário, salve o armazenamento de mídia no seu RDS extra (banco de dados) e na imagem de cache de redimensionamento individual ainda será salva na pasta de mídia local do servidor de aplicativos, mas tudo bem, pois o cloudfront já os armazenará em cache.
fonte
Prefiro ter um nó "admin" separado (admin.example.com) e manter as pastas de mídia lá. Dessa forma, você se pouparia com o custo do NFS e também com a sincronização etc. qualquer CDN (eu uso o cloudfront) poderia ser conectado às pastas de mídia do nó do administrador e configurado para todas as lojas.
Outros benefícios do uso do nó de administração são: você pode mover todos os crons (reindexação e outros crons), tarefas agendadas (importação de produtos, inventário e sincronização de pedidos, etc.) no nó admin e salvar o processamento da CPU dos nós de front-end.
Edit: Como última resposta, na verdade, não abordou a pergunta do OP. Recursos de mídia Magento no Amazon S3? Bem, acredito que o Magento já tenha sobrecarregado tanto o processamento, que acho que seria uma boa ideia evitar a sincronização / streaming s3 e usar a pasta de mídia local.
fonte
Bem, agora que se passaram alguns anos, acho importante observar que existem vários plugins disponíveis que moverão e servirão ativos do S3 / CDN.
As pesquisas do Google exibem muitas opções.
Aqui está um no GitHub:
https://github.com/magefm/cdn
Aqui está um no mercado do Magento Connect:
http://www.magentocommerce.com/magento-connect/aws-s3-cdn-for-product-images.html
Ainda não tentei essas extensões específicas, mas será para um próximo projeto. Existem outros por aí também.
Eu teria que discordar do @Sonassi, usar armazenamento separado para permitir que a configuração mais barata do servidor, ainda com bom desempenho, seja realmente considerada a melhor prática hoje. Por exemplo, basta usar o S3 para remover todo o conteúdo estático do servidor da Web, ajudando o servidor a usar muito menos largura de banda e permitir mais usuários simultâneos e menos energia geral do servidor. E, se você está em um único datacenter como a maioria das pessoas hoje em dia e diz que está em Dallas, não há dúvida de que as pessoas na Europa Ocidental serão atendidas muito mais rapidamente com uma CDN global como o Cloudfront. Portanto, o uso de armazenamento separado do servidor da web para diminuir o uso da largura de banda permite usar apenas 1 servidor quando você precisaria mais rapidamente sem essa abordagem, e o uso da CDN aumentará bastante o tempo de carregamento global.
fonte
Encontrou outra extensão criada por arkadedigital https://github.com/arkadedigital/magento-s3
fonte