Magento - 在cdn上存储所有图像而不是我的托管服务器

时间:2014-03-18 18:03:45

标签: magento cdn amazon-cloudfront

我是magento的新手,我刚刚开始设置我的第一个网站。我要求的一个要求是将所有图像文件存储在托管该站点的单独服务器上。我简要介绍了亚马逊cloudfront和以下插件:

http://www.magentocommerce.com/magento-connect/cloudfront-cdn.html

这与我的云端分布设置一起工作,因此当我检查源时,从cdn旁边的js,css等访问图像。我的问题是它们仍然存在于我自己的服务器上。

有没有办法让所有东西都放在cdn上,这样我的服务器磁盘空间可以保持尽可能低,只有那里的模板文件,没有图像?

1 个答案:

答案 0 :(得分:0)

根据经验,我建议您不要尝试从实际的服务器磁盘中删除任何媒体文件。 CDN的主要作用应该是在文件是新的或更新的时候完全镜像这些。

但是,如果您真的想要这样做,我也会严厉警告您,您不会尝试使用jscss文件。麻烦不值得。你以后会明白为什么。

因此我们留下了media或主要是图像文件。这些文件通常非常大,因此将其从服务器磁盘移开的原因。

我的策略和之前的做法是在Cloudfront CDN后面使用了S3存储桶。我将所有内容从media目录移动到S3,Cloudfront配置为从S3拉出,然后Cloudfront CDN则CNAME' d为media.mydomain.com。显然,我会将我的媒体基本网址(系统>配置>一般>网址)设置为http://media.mydomain.com/media/https://media.mydomain.com/media/

完美无缺。没有CORS问题,因为我没有触及CSS / JS基本URL路径。因为对于那些文件,我只依赖于免费的Cloudflare CDN(是的,是的,我知道)。

我知道的下一件事,看到这个设置的缺点是所有上传根本不起作用。 WSIWYG上传不会立即转到S3存储桶。但是,有一个使用s3fuse的解决方案虽然然后立即降级为问题,因为它也有错误的内存泄漏。

最终工作的是我们刚刚为额外的磁盘空间付费(我们使用的是亚马逊AWS),在Cloudflare CDN上包装整个域,当我们需要SSL时,我们升级到Pro。

简单,有效,而且头疼。

注意:我与Cloudflare无关,我对他们的服务非常满意。