在单个 IIS 安装上托管多个站点

Hosting multiple sites on a single IIS installation

我在 .Net 4.5 和 IIS 8 上开发几个小型 ASP.Net MVC 网站 运行 已经有一段时间了,我想将它们部署到生产服务器上。在我继续做好之前,我有一些问题需要回答。我尝试搜索但没有得到满意的答案。请注意,我只有一个 Web 服务器(在 AWS EC2 上),我将其用于我的所有站点。所以,请让我知道这些查询 -

a) 在一个应用程序池上 运行 多个站点是否可行,或者我应该为每个站点创建不同的应用程序池吗?一个站点的工作是否会影响同一应用程序池中的其他站点 运行?

b) 在单个 IIS 安装中可以创建多少个应用程序池 (Integrated/Classic)?

c) 我们能否对每个 App Pool/Website 最多可以使用的资源 (CPU/Memory/Storage) 设置某种限制?

d) 如果我想 运行 单独 domains/sub-domains 上的每个站点,我可以同时对每个站点执行此操作吗?我需要在机器上打开更多端口还是只更改主机名映射并保留端口 80?

提前致谢。

a) 是的,这是可能的,但它将 运行 在相同的 RAM 和 CPU 限制下。此外,如果一个应用程序池崩溃,该应用程序池下的所有站点都将崩溃并重新启动。

b) 我不知道,但如果您有足够的 RAM,我认为最好将每个站点都放在每个应用程序池中。

c) 是的,用于 RAM 和 CPU。在 IIS8 中,CPU 限制功能得到改进。对于存储限制,也许您应该使用 Windows 用户磁盘配额(与 IIS 无关,但与 Windows 服务器相关)。

d) 是的,当然。您应该在每个站点上使用 host-headers 绑定以使所有 运行ning 都在端口 80 下。