如何在不同的服务器上托管网站

时间:2017-04-19 07:01:00

标签: kentico

我想知道我的网站是否需要托管在不同的服务器上以实现负载平衡,如下图所示:

enter image description here

我正在考虑在每台服务器上安装3个Kentico项目。然后,将站点导出并导入每个Kentico项目,并使用相同的数据库连接字符串进行链接。

但是如果其中一个webparts(.ascx)得到更新呢?这是否意味着我需要更新所有3个Kentico项目。如果其他文件如js,css或media怎么办?

是否有正确的方法在不同的服务器上托管但是可以管理内容作为Kentico Project获取更新之一?

3 个答案:

答案 0 :(得分:1)

您所描述的是Kentico的Web farm功能的确切目的,您可以将多个服务器(Web场)连接到单个数据库。 Web场的主要目的是确保缓存和文件(不是代码文件,但媒体文件,例如您作为附件,媒体库,元文件...上传的文件)在所有服务器之间同步。

场景中的每个服务器都有自己的内存,如果更改对象,则希望所有其他服务器都反映出更改,否则某些访问者最终可能会看到“旧”数据,而其他人则不会。

假设所有代码文件(ascx,cs,aspx ...)都需要上传到所有服务器,您也是正确的。解决此问题的最佳方法是使用团队城市等工具,该工具可以同时将更改部署到多个服务器。

使用 js,css,html,images ... 它取决于您存储它们的位置。如果将它们存储在数据库中(通常不是最好的事情),则不需要在特定服务器上更新它们,但如果将它们存储在文件系统上,则可能需要。这里有很多变量,但是一些部署工具可能是最好的选择。

答案 1 :(得分:0)

这里有一点注意。尽量不要在每个服务器上直接安装Kentico,并使用导出和导入来设置站点。只需从DEV服务器上复制网站物理文件并粘贴到每个服务器中。然后将它们全部连接到同一个数据库。

为什么不使用导出和导入? 1.您将在web.config中获得不同的hast盐字符串,您将获得宏安全性错误,您必须使用相同的密钥替换它。 2.导出和导入期间可能会丢失对象。 3.导出和导入主要用于存储在数据库中的对象,对于Web场设置,它们共享同一个数据库,因此没有必要这样做。

答案 2 :(得分:0)

您可以轻松地从内部部署到Windows Azure。 - 可以将您的网站/ Web项目部署为云服务/应用服务。 --Kentico Azure支持开发和部署解决方案 - 内置可扩展性

有关详细信息,请参阅以下链接

托管选项:https://docs.kentico.com/k10/running-kentico-on-microsoft-azure/microsoft-azure-web-hosting-options

https://devnet.kentico.com/articles/deploying-kentico-to-microsoft-azure-know-your-web-hosting-options