我的预商店是托管在一个DigitalOcean液滴上。我想在我的商店中使用DigitalOcean空间作为MediaServer。但是如果我在Prestashop中将空格原点(https://xxxxxxxx.fra1.cdn.digitaloceanspaces.com)设置为MediaServer,那么我的图像就会丢失。在产品页面源中,img似乎是正确的,它指向CDN地址。主要的问题是,商店前没有同步我的图像到CDN。
我以前试过邦尼CDN,没问题。图像是自动上传的。
我应该如何设置DigitalOcean空间来像Bunny那样工作?
发布于 2021-02-06 11:59:00
Prestashop没有将图像同步/复制到远程目标的功能,图像将始终上载到安装它的文件系统中。
后台办公室中的"Media server“功能只告诉Prestashop必须从其中检索图像的web路径,因此必须处理来自后端服务器的图像”拾取和复制“的是您的CDN服务,因此首先要确保CDN服务可以这样工作,并且它不是必须手动上传资源的另一个对象存储服务。
然后,您必须确保正确配置CDN以正确指向后端,以便第一个web查询从服务器读取图像,从CDN读取后续图像。
注意到这一点,一种典型的方法是创建一个像"static.mywebsite.com“这样的子域,其中包含一个CNAME到您的CDN "https://xxxxxxxx.fra1.cdn.digitaloceanspaces.com”,然后您可以在Prestashop后台的媒体服务器空间中输入"static.mywebsite.com“。
发布于 2021-04-11 06:26:25
它有两个方面。
从Prestashop. storeage
Prestashop只知道prestashop/img目录,它存储所有的图像。
从DigitalOcean小滴,您可以挂载一个DigitalOcean空间,就像一个文件系统。
一旦您挂载了DO空间,就可以说是as /storage/DO_Spaces。您可以简单地将您的prestaship/img目录重命名为prestashop/ img _backup,并且可以使用一个软链接来指向img来完成安装在液滴上的空间。
假设/var/www/prestashop是安装prestashop的目录。
/ -s /存储/DO_Spaces
现在将整个prestaship/img_backup复制到prestashop/img目录cp -rf /var/www/prestashop/img_backup /var/www/prestashopprestashop/img/
WIthin秒,您将看到您的图像在您的DO空间。
第二步是能够从浏览器中从DO空间及其CDN中查看图像。为此,创建一个指向CDN的CNAME指针,如前所述。
在您的预prestashop计算机上,将一个映像复制到/var/www/prestashop/img目录中,并检查您是否可以从http://static.mywebsite.com/image.png查看该文件。您必须确保DO空间的根目录充当img目录。
现在,每次prestashop将在/var/www/prestashop/img目录中创建一个映像时,它将自动复制到DO空间,并在静态URL中可见。您将需要在所有新文件都对世界可见的DO空间上设置正确的权限。
更多关于如何使您的文件可见或可读性的详细记录作为DO空间的一部分。
https://www.digitalocean.com/community/questions/mount-point-with-spaces
使新文件公开可读性方面存在一些问题。这是一个讨论。一旦你将你的文件公之于众,这些文件就可以通过你的静态站点被全世界看到。因此,DO空间的问题在于,您可能需要手动将它们公之于众,以便这些空间对世界是可见的,这超出了本地挂载和复制文件的范围。
一旦这些图像文件被复制到DO空间中,这些文件就会得到很好的服务。可以将Prestashop配置为在“高级设置”下使用CDN。指向预prestashop配置中的static.mywebsite.com。Prestashop将从CDN中服务器图像。
https://stackoverflow.com/questions/66033342
复制相似问题