在哪里放置新的ASP.NET网站?

在哪里放置新的ASP.NET网站?,asp.net,binding,installation,directory,Asp.net,Binding,Installation,Directory,生产asp.net应用程序的最佳位置在哪里?我的意思是一个地方,我们需要更少的权限操纵文件夹,可能是专家的选择 在C:\inetpub\wwwroot或C:\inetpub或elswere下 在开发/测试阶段,我通常将它放在C:\inetpub\wwwroot下,并在不设置绑定的情况下创建一个新的web应用程序。但是在带有绑定的生产版本上,我不确定哪里是正确的位置。我个人在我的D:drive上有一个“Development”文件夹,然后根据工作将其细分为不同的类别。我通常不使用inetpub目录

生产asp.net应用程序的最佳位置在哪里?我的意思是一个地方,我们需要更少的权限操纵文件夹,可能是专家的选择

C:\inetpub\wwwroot
C:\inetpub
或elswere下


在开发/测试阶段,我通常将它放在
C:\inetpub\wwwroot
下,并在不设置绑定的情况下创建一个新的web应用程序。但是在带有绑定的生产版本上,我不确定哪里是正确的位置。

我个人在我的D:drive上有一个“Development”文件夹,然后根据工作将其细分为不同的类别。我通常不使用inetpub目录,遇到的任何权限问题我都直接设置到我自己开发结构中的相关文件夹中


在我过去使用过的生产环境中,我们通常也做过同样的事情。主要是为了真正帮助备份场景,但也因为不需要严格使用默认的IIS目录-您可以自由地按自己喜欢的方式组织内容。

您可以将其放在任何位置,关键是要确保它运行的应用程序池设置为以低特权用户身份运行(如NT AUTHORITY\NETWORK SERVICE),然后确保用户对您放置web应用的文件夹具有读取(如果需要,还可以进行浏览)权限。用户很少(如果有)需要对文件夹的写入或修改权限

在一个新系统上,我在修改批处理文件、设置权限方面遇到了很多问题

设置权限应该没有问题,您应该为要运行应用程序池的用户设置与我上面提到的相同的基本权限。您可以为此使用PowerShell或WMI,并且无论安装到哪个文件夹,您都应该使用相同的权限


你可以将所有这些都打包到一个安装程序中,然后它就可以像点击Next一样简单。。下一个完成。。。在安装程序向导中,在任何计算机上设置网站。在安装程序中执行此操作还可以确保没有遗漏任何内容。

就我个人而言,我总是在驱动器的根目录中创建一个名为
网站的新文件夹。然后,我确保它对网站进程(也称为
应用程序池
)具有适当的权限

例如

它还使管理更容易,因为您不必搜索文件夹结构来查找任何/所有网站

但从技术上讲,它可以(或多或少)在任何地方——只需要设置正确的权限

奖励答案
我还从IIS中删除默认网站。。这实际上意味着我也可以删除
c:\inetpub\wwwroot

你可以将网站放在服务器硬盘上的任何位置,只要确保它是一个安全的文件夹,而且我建议不要将它放在同一个操作系统驱动器中,以防它失败并且需要格式化它


C:\inetpub\wwwroot和C:\inetpub只是默认的位置,仅此而已。

实际上取决于生产服务器的配置以及操作在那里的操作方式。通常,出于以下几个原因,我们会在服务器上设置第二个“数据”驱动器:

a) 在过去,有很多cannonical攻击,攻击者会尝试从c:\inetpub导航到c:\winnt\cmd.exe。把东西放在不同的驱动器上防止了这种事情

b) 恢复——如果操作系统被冲洗掉,你可以很容易地重新安装/重新映像,或者将数据磁盘移到另一个盒子中,然后快速恢复

c) 通常情况下,在需要更多磁盘空间或更快磁盘或其他任何情况下,交换非操作系统磁盘等操作会容易得多


基本上,脱离操作系统驱动器是一个好主意。尽管虚拟化和现代部署工具使这一点变得不那么重要。

您是否将文件夹放在foo.com下面?IIS至少不喜欢在以.com结尾的文件夹中提供服务,这是有充分理由的。使用不同的位置有其自身的缺点,比如设置文件夹的权限,以及迁移到新系统时没有
D:
,最后一个原因是我改变了我的行为,开始使用默认的
inetbub
文件夹。我想每个文件夹都有自己的权限。这纯粹是主观的(你的观点)。从技术角度来看(如问题所问),只要你知道优点/缺点,这是非常可行的。@Pure:你说的
是什么意思纯粹是主观的
?(因为你的昵称是纯正的,请澄清“参考”一词)。我问这个问题是因为我的亲身经历。我更改了标准文件夹,在生成批处理文件后,有很多权限。。。在一个新系统上,我在修改批处理文件、设置权限方面遇到了很多问题。。。因为新的机器驱动器号是另外一种东西,所以我决定使用标准文件夹,问这个问题是为了防止类似我以前的错误。
C:\
|_WebSites
     |_www.Foo.com
     |_www.Bah.com