gpt4 book ai didi

Sitecore 最佳实践

转载 作者:行者123 更新时间:2023-12-02 20:07:30 29 4
gpt4 key购买 nike

我们正在设置向 Sitecore 的首次迁移。我们拥有多个多语言网站,其内容存储在具有 LCID 的数据库字段中。用户控件调用数据库来显示不同的语言内容。我们正在将内容迁移到 Sitecore 项目,并希望利用 Sitecore API 从我们的用户控件获取内容来构建数据结构。

我想知道如何构建用于 Sitecore 开发的 Visual Studio 项目,以便使用现有的 VS 解决方案。我们是否将 Sitecore .dll 和配置复制到所有解决方案,或者共享一个 Sitecore 安装?

此外,如何在生产中安装所需的文件以支持 IIS 中作为单独网站存在的多个站点?我们是否必须在单独的 /sitecore 中拥有所有必需的 .dll 和配置文件的重复副本每个网站的文件夹,或者我们与每个站点中的虚拟文件夹共享一个文件夹,指向同一物理 /sitecore文件夹?

最佳答案

根据我的经验,只有当您不具备以下条件时,Sitecore 的多个站点的“1 个 IIS 网站下的所有内容”才有效:

  1. 每个站点使用不同的 SSL 证书:IIS 只允许每个 IP 地址/端口组合使用一个 SSL 证书,并且 IIS 中的每个网站只允许使用一个 SSL 证书。我们有 4 个不同的通配符 SSL 证书(针对 4 个不同的基本域),因此我们必须至少有 4 个独立的 IIS 网站。
  2. 每个站点有不同的虚拟目录:如果您希望一个虚拟目录在一个网站上可用,但在另一个网站上不可用,则必须在 IIS 中拥有不同的网站。

如果您有这些要求之一,则它们必须是 IIS 中的不同网站(或者这些要求必须在 IIS 外部处理)。

至于如何设置,需要记住的一件事是,我们被告知在服务器上多次安装 Sitecore 需要不同/多个许可证。

因此,对于我们来说,我们必须与 IIS 中的多个站点共享相同的安装,因为我们有这两个要求(并且只有一个许可证)。我们让所有网站共享相同的 Sitecore 安装(共享所有文件,包括 DLL 和 web.config)。这样做的缺点是:

  • 任何配置或 DLL 更改都会导致所有网站重新启动
  • 每个网站都有自己的应用程序域(因此会增加内存需求,并且内存中的缓存不共享)
  • 该应用程序域基本上是一个单独的进程,因此任何维护或计划操作(即清除媒体缓存)都在每个网站上运行并访问相同的文件。这可能会导致性能和并发问题。我们必须从外部计划的任务中启动其中一些流程,并且只能在我们的编辑网站上启动,以防止冲突。
  • 由于我们只有一个配置文件,因此无法关闭内容交付网站的编辑功能。这意味着我们必须使用 IIS 的功能来防止在内容交付网站上进行编辑。
  • 我们必须将其视为 sitecore 的多服务器安装,这意味着我们必须设置一个 stager 来清除发布时的缓存。我们使用了共享源库中提供的 stager。

关于Sitecore 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1235849/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com