我可以在 Prestashop 中使用 DigitalOcean Spaces CDN 作为 MediaServer 吗?
Can I use DigitalOcean Spaces CDN as MediaServer in Prestashop?
我的 prestashop 托管在 DigitalOcean droplet 上。我想在我的商店中使用 DigitalOcean Spaces 作为 MediaServer。
但是,如果我在 Prestashop 中将空间原点 (https://xxxxxxxx.fra1.cdn.digitaloceanspaces.com) 设置为 MediaServer,那么我的图像就会丢失。
产品页面源码中的img src好像是对的,它指向的是CDN地址。
主要问题是,prestashop 不将我的图像同步到 CDN。
以前试过兔兔CDN,还可以。图片是自动上传的。
我应该如何设置 DigitalOcean Spaces 使其像 Bunny CDN 一样工作?
Prestashop 没有将图像 sync/copy 上传到远程目标的功能,图像将始终上传到安装它的文件系统。
后台的“媒体服务器”功能只告诉 Prestashop 必须从中检索图像的 Web 路径,因此您的 CDN 服务必须处理来自后端服务器的图像“拾取和复制” ,所以首先要确保您的 CDN 服务可以像那样工作,并且它不是您必须手动上传资源的不同对象存储服务。
然后,您必须确保 CDN 已正确配置以正确指向您的后端,以便第一个 Web 查询从服务器读取图像,随后从 CDN 读取图像。
意识到这一点后,一种典型的方法是创建一个子域,如“static.mywebsite.com”,并为您的 CDN“https: //xxxxxxxx.fra1.cdn.digitaloceanspaces.com" ,然后就可以在 Prestashop 后台的媒体服务器 space 中输入 "static.mywebsite.com"。
它有两个方面。
- Prestashop 图片存储
- 从 Prestashop 指向 CDN。
Prestashop 只知道 prestashop/img 目录,它存储所有图像。
从 DigitalOcean Droplet,您可以像文件系统一样挂载 DigitalOcean Spaces。
一旦你安装了你的 DO 空间,就说 /storage/DO_Spaces。您只需将 prestaship/img 目录重命名为 prestashop/img_backup
并且可以使用软 link 将 img 指向安装在你的 droplet 上的 DO 空间。
假设/var/www/prestashop是prestashop的安装目录
- 转到 prestashop 目录并创建一个软件 link。
ln -s /storage/DO_Spaces /var/www/prestashop/img
现在将整个 prestaship/img_backup 复制到 prestashop/img 目录
cp -rf /var/www/prestashop/img_backup /var/www/prestashopprestashop/img/
几秒钟后,您就会在 DO Spaces 上看到您的图像。
第二步是能够通过来自 DO Spaces 及其 CDN 的浏览器查看您的图像。为此,如上所述创建指向您的 CDN 的 CNAME 指针。
在您的 prestashop 计算机上将图像复制到 /var/www/prestashop/img 目录并检查您是否可以从 http://static.mywebsite.com/image.png 查看该文件。您必须确保您的 DO Spaces 的根目录用作 img 目录。
现在,每次 prestashop 将在 /var/www/prestashop/img 目录中创建一个图像时,它会自动复制到 DO Spaces,并且可以从您的静态 URL 中看到。您将需要在 DO Spaces 上设置正确的权限,以使所有新文件都对世界可见。
关于如何使文件可见或可读的更多信息已作为 DO Spaces 的一部分进行了详细记录。
https://www.digitalocean.com/community/questions/mount-point-with-spaces
使新文件 public 可读存在一些问题。这是一个讨论。一旦你制作了你的文件public,这些文件就可以通过你的静态站点被全世界看到。因此,您可能需要手动创建 DO 空间的问题 public 以便它们对世界可见,这超出了本地安装和复制文件的范围。
一旦将这些图像文件复制到 DO 空间,就可以正常使用了。您可以在“高级设置”下将 Prestashop 配置为使用 CDN。指向 prestashop 配置中的 static.mywebsite.com。 Prestashop 将从 CDN 服务器图像。
我的 prestashop 托管在 DigitalOcean droplet 上。我想在我的商店中使用 DigitalOcean Spaces 作为 MediaServer。 但是,如果我在 Prestashop 中将空间原点 (https://xxxxxxxx.fra1.cdn.digitaloceanspaces.com) 设置为 MediaServer,那么我的图像就会丢失。 产品页面源码中的img src好像是对的,它指向的是CDN地址。 主要问题是,prestashop 不将我的图像同步到 CDN。
以前试过兔兔CDN,还可以。图片是自动上传的。
我应该如何设置 DigitalOcean Spaces 使其像 Bunny CDN 一样工作?
Prestashop 没有将图像 sync/copy 上传到远程目标的功能,图像将始终上传到安装它的文件系统。
后台的“媒体服务器”功能只告诉 Prestashop 必须从中检索图像的 Web 路径,因此您的 CDN 服务必须处理来自后端服务器的图像“拾取和复制” ,所以首先要确保您的 CDN 服务可以像那样工作,并且它不是您必须手动上传资源的不同对象存储服务。
然后,您必须确保 CDN 已正确配置以正确指向您的后端,以便第一个 Web 查询从服务器读取图像,随后从 CDN 读取图像。
意识到这一点后,一种典型的方法是创建一个子域,如“static.mywebsite.com”,并为您的 CDN“https: //xxxxxxxx.fra1.cdn.digitaloceanspaces.com" ,然后就可以在 Prestashop 后台的媒体服务器 space 中输入 "static.mywebsite.com"。
它有两个方面。
- Prestashop 图片存储
- 从 Prestashop 指向 CDN。
Prestashop 只知道 prestashop/img 目录,它存储所有图像。
从 DigitalOcean Droplet,您可以像文件系统一样挂载 DigitalOcean Spaces。
一旦你安装了你的 DO 空间,就说 /storage/DO_Spaces。您只需将 prestaship/img 目录重命名为 prestashop/img_backup 并且可以使用软 link 将 img 指向安装在你的 droplet 上的 DO 空间。
假设/var/www/prestashop是prestashop的安装目录
- 转到 prestashop 目录并创建一个软件 link。 ln -s /storage/DO_Spaces /var/www/prestashop/img
现在将整个 prestaship/img_backup 复制到 prestashop/img 目录 cp -rf /var/www/prestashop/img_backup /var/www/prestashopprestashop/img/
几秒钟后,您就会在 DO Spaces 上看到您的图像。
第二步是能够通过来自 DO Spaces 及其 CDN 的浏览器查看您的图像。为此,如上所述创建指向您的 CDN 的 CNAME 指针。
在您的 prestashop 计算机上将图像复制到 /var/www/prestashop/img 目录并检查您是否可以从 http://static.mywebsite.com/image.png 查看该文件。您必须确保您的 DO Spaces 的根目录用作 img 目录。
现在,每次 prestashop 将在 /var/www/prestashop/img 目录中创建一个图像时,它会自动复制到 DO Spaces,并且可以从您的静态 URL 中看到。您将需要在 DO Spaces 上设置正确的权限,以使所有新文件都对世界可见。
关于如何使文件可见或可读的更多信息已作为 DO Spaces 的一部分进行了详细记录。
https://www.digitalocean.com/community/questions/mount-point-with-spaces
使新文件 public 可读存在一些问题。这是一个讨论。一旦你制作了你的文件public,这些文件就可以通过你的静态站点被全世界看到。因此,您可能需要手动创建 DO 空间的问题 public 以便它们对世界可见,这超出了本地安装和复制文件的范围。
一旦将这些图像文件复制到 DO 空间,就可以正常使用了。您可以在“高级设置”下将 Prestashop 配置为使用 CDN。指向 prestashop 配置中的 static.mywebsite.com。 Prestashop 将从 CDN 服务器图像。