277

究竟什么是应用程序池?它的目的是什么?

4

15 回答 15

296

应用程序池允许您将应用程序彼此隔离,即使它们在同一台服务器上运行。这样,如果一个应用程序出现错误,它不会关闭其他应用程序。

此外,应用程序池允许您分隔需要不同安全级别的不同应用程序。

这是一个很好的资源:IIS 和 ASP.NET:应用程序池

于 2010-10-05T23:55:34.653 回答
68

我排在投票最多的答案之后,但如果有人觉得它有用,我想在这里添加更多细节。

简洁版本:

IIS 运行您在名为 w3wp.exe 的进程中配置的任何网站。IIS 应用程序池是 IIS 中的一项功能,它允许每个网站或其中的一部分在相应的 w3wp.exe 进程下运行。因此,您可以在一个 w3wp.exe 或 100 个不同的 w3wp.exe 中运行 100 个网站。例如,在同一个应用程序池(相同的 w3wp.exe)中运行 3 个网站以节省内存使用量。,在两个不同的应用程序池中运行 2 个不同的网站,以便每个都可以在单独的用户帐户下运行(称为应用程序池身份)。在一个应用程序池中运行一个网站,并在另一个应用程序池下运行一个子站点“网站/应用程序”。

更长的版本:

每个网站或网站的一部分,您都可以在应用程序池下运行。您可以使用应用程序池控制网站的一些基本设置。

  1. 您希望网站在不同的 w3wp.exe 进程下运行。然后创建一个新的应用程序池并将其分配给网站。
  2. 您想在不同的用户帐户下运行网站及其所有代码(例如在管理员权限下),您可以通过更改应用程序池标识来运行。
  3. 您想在 .net framework 4.0 或 2.0 下运行特定的应用程序。
  4. 您想确保网站处于 32 位模式或有 w3wp.exe 进程等的计划回收。所有这些事情都由 iis 应用程序池控制。
于 2017-07-04T18:28:07.340 回答
63

基本上,应用程序池是一种通过进程边界在 Web 服务器中创建隔离区并将 URL 集路由到每个隔离区的方法。在此处查看更多信息:http ://technet.microsoft.com/en-us/library/cc735247(WS.10).aspx

于 2010-10-05T23:57:06.357 回答
21

应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。任何 Web 目录或虚拟目录都可以分配给应用程序池。

应用程序池中的每个应用程序共享相同的工作进程。

于 2013-09-18T10:30:15.117 回答
15

假设游泳者在为他们保留的区域的游泳池中游泳。如果游泳者在为他们保留的区域之外游泳,会发生什么情况,整个事情会变得一团糟。同样,iis 使用应用程序池将一个进程与另一个进程分开。

于 2013-10-30T18:07:07.213 回答
10

IIS-Internet 信息服务是用于托管一个或多个 Web 应用程序的 Web 服务器。让我们在这里举个例子,说微软正在维护网络服务器,我们正在这个 IIS 上运行我们的网站 abc.com(基于新闻内容)。因为,微软是一家大公司,它可能需要或准备托管另一个网站,比如 xyz.com(基于电子商务)。

现在 Web 服务器正在托管,即提供内存以在其单个 Web 服务器上运行两个网站。因此,这里应用程序池出现了。abc.com 有自己的规则、业务逻辑、数据等,同样适用于 xyz.com。

IIS 提供了两个应用程序池(路径),以便在单个 Web 服务器中顺利运行各自世界中的两个网站(数据),而不影响每个问题(安全性、可扩展性)。这就是 IIS 中的应用程序池。

因此,您可以根据服务器容量拥有任意数量的应用程序池

于 2016-07-18T15:08:38.420 回答
8

应用程序池是一组由工作处理器或一组工作处理器提供服务的 url。

可以存在任意数量的应用程序池。

在 IIS 中,可以创建多个应用程序池。

不同应用程序池中的应用程序在不同的工作处理器中运行。

优点:如果一个应用程序池发生错误,不会影响另一个应用程序池中运行的应用程序。

于 2013-08-14T06:58:44.533 回答
7

应用程序池是使用相同 IIS 工作进程 (w3wp.exe) 的应用程序的集合。使用应用程序池的主要考虑是隔离两个具有不同安全问题的不同应用程序,并避免由于工作进程死亡而导致应用程序崩溃。

于 2018-02-14T05:59:21.687 回答
6

应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。应用程序池用于隔离我们的 Web 应用程序以获得更好的安全性、可靠性、可用性和性能,并且它们可以继续运行而不会相互影响。

于 2014-05-06T04:53:59.167 回答
5

一个应用程序池就像一个池塘,如果我创建两个应用程序池,第一个应用程序池有 100 条鱼,另一个应用程序池有 200 条鱼,这里的鱼就像应用程序池中的一个应用程序。它们由工作进程管理。最大的好处是:如果 1 号池塘水质不好并且所有鱼都受到影响,那么 2 号池塘的鱼是安全的。像这样,如果任何应用程序池受到任何问题的影响,但该问题在应用程序池 2 中没有任何影响,因此安全性得到提高,另一个好处是您为单个应用程序池中的所有应用程序提供所有必要的身份验证和权限.

于 2017-11-24T05:42:01.220 回答
4

应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。

应用程序池用于隔离我们的 Web 应用程序,以获得更好的安全性、可靠性、可用性和性能,并在不相互影响的情况下保持运行。工作进程作为分离每个应用程序池的进程边界,这样当一个工作进程或应用程序出现问题或回收时,其他应用程序或工作进程不受影响。一个应用程序池也可以有多个工作进程。

或者我们可以简单地说,一个应用程序池是一组一个或多个 URL,它们由一个工作进程或一组工作进程提供服务。任何 Web 目录或虚拟目录都可以分配给应用程序池。如果您使用单独的应用程序池,则一个网站不会受到其他网站的影响。

资料来源:Interviewwiz

于 2015-05-19T05:06:37.210 回答
3

应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。

于 2017-11-22T11:06:53.753 回答
2

应用程序池用于分隔共享相同配置的 IIS 工作进程集。应用程序池使我们能够隔离我们的 Web 应用程序以获得更好的安全性、可靠性和可用性

于 2011-10-08T19:19:58.363 回答
1

应用程序池元素包含 IIS 上运行的所有应用程序池的配置设置。应用程序池定义一组一个或多个工作进程,并配置有向分配给该应用程序池的一个或多个应用程序提供请求的通用设置。

因为应用程序池允许一组 Web 应用程序共享一个或多个类似配置的工作进程,所以它们提供了一种方便的方法来将一组 Web 应用程序与服务器计算机上的其他 Web 应用程序隔离开来。

进程边界将每个工作进程分开;因此,一个应用程序池中的应用程序问题不会影响其他应用程序池中的网站或应用程序。应用程序池显着提高了 Web 基础架构的可靠性和可管理性。

于 2015-10-16T11:53:16.180 回答
1

应用程序池为您的应用程序提供隔离。并提高应用程序的可用性,因为每个池都在自己的进程中运行,因此一个应用程序中的错误不会导致其他应用程序池。我们有一个共享池,它托管多个在其下运行的 Web 应用程序,以及一个运行单个应用程序的专用池。

于 2020-11-19T18:48:34.650 回答