什么';正如DotNetNuke文档中所建议的那样,从UNC共享运行IIS web应用程序有什么不好?

什么';正如DotNetNuke文档中所建议的那样,从UNC共享运行IIS web应用程序有什么不好?,dotnetnuke,iis-7.5,windows-server-2008-r2,Dotnetnuke,Iis 7.5,Windows Server 2008 R2,过去我被教导,从UNC共享运行web应用程序是不明智的。我记得的原因是安全性、权限和授权问题以及性能。然而,在: DotNetNuke最初支持的web场配置包括 两个或多个前端web服务器(“web头”),其IIS网站根 目录映射到远程文件服务器上的公用UNC共享。 UNC共享包含应用程序源代码以及任何 单个站点的静态内容 不知何故,这听起来像是一个穷人的配置,我想打开一个潜在的潘多拉的盒子。遵循DotNetNuke公司的建议明智吗?在使用DotNetNuke进行此类配置时,有一些事情可能会出现

过去我被教导,从UNC共享运行web应用程序是不明智的。我记得的原因是安全性、权限和授权问题以及性能。然而,在:

DotNetNuke最初支持的web场配置包括 两个或多个前端web服务器(“web头”),其IIS网站根 目录映射到远程文件服务器上的公用UNC共享。 UNC共享包含应用程序源代码以及任何 单个站点的静态内容


不知何故,这听起来像是一个穷人的配置,我想打开一个潜在的潘多拉的盒子。遵循DotNetNuke公司的建议明智吗?

在使用DotNetNuke进行此类配置时,有一些事情可能会出现问题

  • 尽管“web场”场景会导致单点故障,但此方法仍然有效。UNC共享将成为您的瓶颈,如果它关闭,所有节点都将关闭
  • 磁盘IO和网络通信的配置可能是一个问题。这与可以在远程内容上打开/维护的“文件系统监视程序”的数量有关。这个问题在大多数情况下都不是什么大问题,但当它发生时,它可能是一个皇家皮塔
  • 安全性可能是一个问题,但通常是在配置开始时就有问题的。您需要确保为用户帐户正确分配权限,以便它可以完全访问UNC共享
  • 我猜测,为什么这是DotNetNuke公司的“默认”建议是由于以下原因。注意:这些只是我的意见

  • 此配置在实时内容同步方面提供了“最少”的复杂性。由于只有一个文件系统,因此无需讨论复制和类似的问题
  • 默认缓存使用基于文件的缓存,两者都将转到同一个系统缓存过期很容易管理。如果复制的话,它就不起作用了

  • 使用UNC共享本身并没有什么错。在以前的一家公司,我们运营了几十台web服务器,它们都使用UNC共享(不在DNN上)。有超过8万付费用户,其中每天有10万人使用这些应用程序。它工作得很好

    针对米切尔的观点:

    1.)如果将单点故障视为一个问题,则它只是一个问题。各种SAN/NAS解决方案中有大量冗余可用

    2.)IO不会成为任何像样的SAN或NAS的问题。我从来没有遇到过文件系统监视程序的问题。DNN不直接使用任何,如果内置ASP.Net监视程序造成问题,我可能会禁用它们

    3.)我不认为安全性比任何其他解决方案更重要。您必须确保适当地控制对文件的访问和设置权限。对于本地磁盘,您可以选择让权限比网络上的权限更开放,但您可能应该同样保护这两个权限。有一个额外的配置步骤与使用UNC路径有关。与创建一个值得使用web场的站点所花费的数周甚至数月的时间相比,配置安全性方面的额外工作将是微不足道的

    我完全同意Mitchel关于为什么不使用文件同步的观点


    我知道有些人正在运行带有文件同步的DNN站点。我不知道有谁不需要解决文件同步引起的问题。就个人而言,我怀疑在计算整理文件同步怪癖所花费的人力后,让一个站点运行良好的文件同步比在SAN上使用UNC更便宜。

    我想我也有这样的印象,即在每个系统上使用分期付款可以让我更新一个,让另一个运行,然后更新另一个,在升级期间有100%的正常运行时间。使用UNC会造成单点故障,正如您在(1)中所提到的。您的升级方案也不会起作用,因为数据库会更新,站点文件也不会更新,这会使系统陷入困境。好的一点是,我想这一方案应该顺利通过,在这段时间内,连续性根本不是一个选项,除非我们考虑一个完全不同的更复杂的场景。这是公认的答案,但斯科茨的第二个答案中也有很多信息。谢谢你们两位,谢谢你们对米切尔观点的阐述。但是,无论选择何种SAN/NAS解决方案,即在升级核心网站时,SPoF仍然是一个问题。@ScottS-关于#2,这不是SAN的问题,而是WINDOWS对文件监视程序数量的限制(基于文件的缓存和ASP.NET进程监视)