首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sitecore最佳实践

Sitecore最佳实践
EN

Stack Overflow用户
提问于 2009-08-05 21:26:16
回答 5查看 3.8K关注 0票数 7

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

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

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

EN

回答 5

Stack Overflow用户

发布于 2011-08-03 23:41:52

根据我的经验,使用Sitecore的多个站点的"everything under 1 IIS网站“只有在您不具备以下条件时才有效:

每个站点的SSL证书: IIS将只允许每个IP地址/端口组合和IIS中的每个网站一个SSL证书。我们有4个不同的通配符SSL证书(用于4个不同的基域),因此我们必须为每个站点至少有4个单独的IIS虚拟目录:如果您希望一个网站上的虚拟目录可用,而不是另一个网站上,您必须在IIS中有不同的网站。

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

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

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

  • 任何配置或动态链接库的改变都会导致所有websites
  • that的重启每个网站都有它自己的应用程序域(所以它增加了内存需求,内存中的缓存不是共享的)
  • 应用程序域基本上是一个独立的进程,所以任何维护或计划的操作(即清除媒体缓存)都会在每个网站上运行并访问相同的文件。这可能会导致性能和并发问题。我们不得不从外部计划的任务中启动其中的一些过程,只有在我们的编辑网站上才能防止conflicts.
  • since。我们只有一个配置文件,我们不能关闭内容交付网站的编辑功能。这意味着我们必须使用IIS的功能来防止在内容分发网站上进行编辑。
  • 我们必须将其视为sitecore的多服务器安装,这意味着我们必须设置一个登陆器来清除发布时的缓存。我们使用了共享源代码库中提供的登陆器。
票数 7
EN

Stack Overflow用户

发布于 2009-08-13 09:13:04

一般来说,我们建议在一个IIS网站下运行所有内容。这省去了大量的配置和部署问题。除此之外,使用多个网站在性能上也不是必须的。

项目的设置可以非常直接地完成。只需确保构建目标设置为指向Sitecore安装的/Website/bin-文件夹。如果是这样的话,你可以重用任何东西。您可以将Sitecore.Kernel链接为Visual Studio中的解决方案项。

总体而言,我认为您应该咨询您当地的Sitecore办公室来考虑设置此解决方案。由于我们在这类迁移方面经验丰富,我们很乐意为您提供正确的建议,并讨论所有选项。

票数 4
EN

Stack Overflow用户

发布于 2016-11-26 05:38:46

  • 您应该从一个没有任何/sitecore文件的空白web应用程序解决方案开始。如果需要添加文件或修改站点核心文件,请在项目中构建文件夹结构,以便在部署时覆盖现有的sitecore文件。
  • 所有Sitecore配置更改应位于解决方案中的/App_Confif/Include/z_Client文件夹中。
  • Sitecore的所有All应来自指定sitecore版本的官方sitecore NuGet feed,在NuGet中不使用“最新的”。
  • 你的web.config应该是一个开箱即用的Sitecore web.config,并使用转换使web.config成为它在构建中所需要的。
  • 你应该在你的项目结构的Helix guidelines中使用它进行开发。
  • 应在您选择的序列化软件中跟踪所有Sitecore项目更改。无论是TDS还是Unicorn

我的试金石测试是,如果我可以使用Sim工具创建一个站点,并部署我的项目代码和项,我的站点可以工作吗?在某些情况下,我们从Sitecore using PowerShell中提取生产/阶段内容,将包复制到Nuget服务器,并使用PowerShell将其部署到开发/CI。

为了创建一个站点,我已经通过命令行或这个Powershell script使用了模拟工具。

你并不是唯一一个感到沮丧的人。我遇到过几个客户,他们的解决方案中都有entier Sitecore网站。部署和升级总是非常困难的。但是,如果您设计的解决方案不包含实际的Sitecore文件,并且可以通过CI部署到空白站点。然后你就会有很好的体型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1235849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档