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

时间:2011-04-14 11:58:18

标签: asp.net binding installation directory

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

C:\inetpub\wwwrootC:\inetpub或elswhere?

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

5 个答案:

答案 0 :(得分:1)

你可以把它放在你喜欢的任何地方,关键是要确保它运行的应用程序池被设置为以低权限用户身份运行(如NT AUTHORITY \ NETWORK SERVICE),然后确保用户拥有读取(以及可能浏览,如果您需要)对您放入Web应用程序的文件夹的权限。很少(如果有的话)用户需要修改文件夹的权限。

  

在一个新系统上我修改批处理文件,设置权限

有很多问题

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

您可以随时将所有这些内容包装到安装程序中,然后就可以轻松地在安装程序向导中点击下一步...下一步...完成... 以设置您的网站任何机器。在安装程序中执行此操作还可以确定没有遗漏任何内容。

答案 1 :(得分:0)

就个人而言,我的D:驱动器上有一个'Development'文件夹,然后根据工作细分为不同的类别。我通常不使用inetpub目录和我遇到的任何权限问题,我只是直接设置在我自己的开发结构中的相关文件夹中。

在我过去使用的生产环境中,我们通常做同样的事情。主要是为了真正帮助备份方案,但也因为没有严格需要使用默认的IIS目录 - 你可以自由地构建你喜欢的东西。

答案 2 :(得分:0)

就个人而言,我总是创建一个名为WebSites的新文件夹(位于驱动器的根目录中)。然后我确保它对网站进程(aka App Pools)具有适当的权限。

例如

C:\
|_WebSites
     |_www.Foo.com
     |_www.Bah.com

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

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

奖金回答

我还从IIS中删除了默认网站..这实际上意味着我也可以删除c:\inetpub\wwwroot

答案 3 :(得分:0)

你可以将网站放在服务器硬盘上的任何位置,只要确保它是一个安全的文件夹,我也建议不要把它放在同一个OS驱动器中,万一它失败了你需要合成它。

C:\ inetpub \ wwwroot和C:\ inetpub只是默认位置。

答案 4 :(得分:0)

真正取决于生产服务器的配置方式以及操作在那里的运营方式。通常我们在服务器上设置第二个“数据”驱动器有几个原因:

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

b)恢复 - 如果操作系统被软管化,你可以很容易地重新安装/重新映像或将数据磁盘移动到另一个盒子中,并快速站起来。

c)通常情况下,如果您需要更多磁盘空间或更快的磁盘或其他任何东西,交换非操作磁盘更容易。

基本上,关闭OS驱动器是一个好主意。虽然虚拟化和现代部署工具使得很多事情变得更少。