如何将 opencart 与亚马逊 CDN 集成?

How to integrate opencart with Amazon CDN?

我一直在尝试将 Amazon S3 和 Amazon Cloudfront 与我的网站(托管在 Amazon EC2) developed using opencart from past few days. While searching, i found a lot of extensions 上,但没有一个符合要求。 根据 extensions,所有数据都存储在本地卷存储中,您可以创建一个子域,目录根目录为 /image/ 目录,并从子域访问图像。但在这里我看不到图像和所有图像是如何到达 Amazon S3 的。我可能在这里遗漏了一些东西。但下面是我想要实现的。

我想要的是存储所有图像并可下载到 Amazon S3 & retrieve the same from Amazon S3 using Amazon Cloudfront. When admin uploads an image then that gets stored in Amazon S3 而不是本地卷存储。

我已经浏览了 opencart default installation. After seeing files, it looks impossible to implement what i want in current structure. The solution i see is rather i create my own library for this & update each & every file of opencart where images are being used or use any of the extensions present (using this will cause issues while using Amazon Elastic load balancing or Amazon Auto Scaling 附带的 /image/ 模型、库文件。

有什么建议!!!

搜索市场我找到了这个解决方案,Amazon CloudFront / S3 Integration

扩展说:

speed up image loading on your website using Amazon CloudFront. This integration allows you to easily upload your OpenCart image cache onto S3 and serve it through CloudFront.

我终于找到了方法。基本上我们在上面的问题中有两个问题:- 1.整合Amazon S3 2. 整合 Amazon CloudFront

  1. 集成 Amazon S3 最佳做法是使用 S3 完全简化 '{$ROOT}/image' 中的所有目录和文件。最终目标是使应用程序尽可能具有可扩展性。这样,当我们将负载均衡器放在我们的应用程序前面时,它不会产生任何问题,因为文件不再保存在我们的本地存储中。 要实现这一点 - 必须自定义应用程序,以便在管理 add/update 任何图像时,它们都会 add/update 到 S3 而不是本地存储。此外,当图像在网站前端被拉取时,它们都会从 S3 而不是本地存储中拉取。

  2. 集成 Amazon CloudFront 这有两个选择:- 2a.实施 S3 - 只需在亚马逊云端提供 S3:Bucket:ARN 并在整个 Web 应用程序中更改图像 url。 2b.没有 S3(使用本地存储)- 我们需要将应用程序的图像目录 url 提供给亚马逊云端,而不是 S3:Bucket:ARN:- www.example.com/image/ 就是这样.现在通过 Web 应用程序更改图像的 urls,图像将从亚马逊云端提取 url。

我发现最简单的方法是在 AWS Lightsail 计划中托管。虽然 AWS Lightsail 计划默认不支持 Opencart,但我们可以使用 LAMP 堆栈并在其中添加 opencart 代码。

Host LAMP stack in AWS Lightsail, Opencart hosting in AWS

在此post我们描述

  • 如何在 Lightsail 中设置实例
  • 如何select 免费套餐
  • 在 AWS Lightsail
  • 中更新系统和 PHP 版本
  • AWS Lightsail 中的 Opencart 安装步骤 LAMP 堆栈
  • 创建静态 IP
  • 创建 DNS 区域
  • 将域名服务器添加到您的域名注册商
  • 创建数据库、数据库用户并授予访问权限
  • 免费安装 Let's Encrypt 证书
  • 为 Opencart 配置 HTTP 到 HTTPS 重定向
  • 激活 SEO URL
  • 如何在 AWS Lightsail 中设置 FileZilla SFTP 来传输文件?
  • PHPMyAdmin 访问权限
  • 如何升级到更高版本的 Lightsail 软件包?
  • 如何设置CDN?

如有任何问题或疑虑,请告诉我们。