IIS多站点使用相同的代码库

时间:2015-08-13 03:26:46

标签: asp.net iis content-management-system iis-8

我设置了一个Kentico CMS来托管多个站点,我想知道在IIS中使用相同的代码库设置多个网站是否是一个好习惯?我在Windows 2012 R2上使用IIS 8

1 个答案:

答案 0 :(得分:1)

CHEL,

我不认为让多个IIS应用程序指向单个代码库是个好主意。 Kentico将添加/更新/删除应用程序文件夹中的多个文件,作为正常处理的一部分。让多个IIS应用程序在文件系统上的同一文件夹上执行此操作将导致由于文件权限和访问权限而导致的复杂性和错误。

您可以通过几种方式设置解决方案,具体取决于您希望如何管理应用程序。

  1. 单个IIS应用程序/主机标头
  2. 在这种情况下,您将拥有一个IIS应用程序/文件夹。所有站点都将从相同的代码库中提供。所有流量都将重定向到同一IP。在IIS配置中,您将为要发送到站点的每个URL使用主机头。在Kentico中,您将拥有要为其服务的每个站点的许可证/域别名。

    赞成

    此设置将为您提供一个代码库来管理您的应用程序。这可以简化您的维护和热修复。

    CONS

    如果您因任何原因需要重新启动任何网站,您的所有网站都会立即停止运行。

    1. 为每个站点单独的代码库/ IIS应用程序
    2. 在此设置中,您将为要传递的每个站点复制代码库。您将为每个代码库创建一个IIS应用程序,并为相应的URL配置。每个域都将定向到相应的IIS应用程序。

      赞成

      可以隔离您的应用程序。可以为每个应用程序提供不同的.NET框架/配置。

      CONS

      要维护的几个代码库。对所有站点的更新都需要在所有代码库中重复代码。

      就个人而言,如果您的所有站点都在同一个.NET框架上,我建议使用选项1,如果必须重新启动它们并不重要。如果它们中的任何一个是关键的LOB应用程序,您可以考虑将该应用程序分支到它自己的IIS应用程序池/代码库。