简体   繁体   English

什么是 IIS 应用程序池?

[英]What is an IIS application pool?

What exactly is an application pool?究竟什么是应用程序池? What is its purpose?它的目的是什么?

Application pools allow you to isolate your applications from one another, even if they are running on the same server.应用程序池允许您将应用程序彼此隔离,即使它们运行在同一台服务器上。 This way, if there is an error in one app, it won't take down other applications.这样,如果一个应用程序出现错误,它就不会关闭其他应用程序。

Additionally, applications pools allow you to separate different apps which require different levels of security.此外,应用程序池允许您将需要不同安全级别的不同应用程序分开。

Here's a good resource: IIS and ASP.NET: The Application Pool这是一个很好的资源: IIS 和 ASP.NET:应用程序池

I second the top voted answer, but feel like adding little more details here if anyone finds it useful.我支持投票最高的答案,但如果有人觉得它有用,我想在这里添加更多细节。

short version:简短版本:

IIS runs any website you configure in a process named w3wp.exe. IIS 运行您在名为 w3wp.exe 的进程中配置的任何网站。 IIS Application pool is feature in IIS which allows each website or a part of it to run under a corresponding w3wp.exe process. IIS 应用程序池是 IIS 中的一项功能,它允许每个网站或其一部分在相应的 w3wp.exe 进程下运行。 So you can run 100 websites all in a single w3wp.exe or 100 different w3wp.exe.因此,您可以在一个 w3wp.exe 或 100 个不同的 w3wp.exe 中运行 100 个网站。 Eg run 3 websites in same application pool(same w3wp.exe) to save memory usage.例如,在同一个应用程序池(同一个 w3wp.exe)中运行 3 个网站以节省内存使用量。 ,run 2 different websites in two different application pools so that each can run under separate user account(called application pool identity). , 在两个不同的应用程序池中运行 2 个不同的网站,以便每个网站都可以在单独的用户帐户下运行(称为应用程序池标识)。 run a website in one application pool and a subsite 'website/app' under a different application pool.在一个应用程序池中运行一个网站,在不同的应用程序池下运行一个子站点“网站/应用程序”。

Longer version:更长的版本:

Every website or a part of the website,you can run under an application pool.You can control some basic settings of the website using an application pool.每个网站或网站的一部分,您都可以在一个应用程序池下运行。您可以使用应用程序池来控制网站的一些基本设置。

  1. You would like the website to run under a different w3wp.exe process.Then create a new application pool and assign that to the website.您希望该网站在不同的 w3wp.exe 进程下运行。然后创建一个新的应用程序池并将其分配给该网站。
  2. You would like to run the website and all it's code under a different user account(eg under Admin privileges),you can run do that by changing Application Pool Identity.您想在不同的用户帐户下(例如在管理员权限下)运行网站及其所有代码,您可以通过更改应用程序池标识来运行
  3. You would like to run a particular application under .net framework 4.0 or 2.0.您想在 .net framework 4.0 或 2.0 下运行特定的应用程序。
  4. You would like to make sure the website in 32 bit mode or have a scheduled recycle of the w3wp.exe process etc.All such things are controlled from iis application pool.您想确保网站处于 32 位模式或计划回收 w3wp.exe 进程等。所有这些都由 iis 应用程序池控制。

Basically, an application pool is a way to create compartments in a web server through process boundaries, and route sets of URLs to each of these compartments.基本上,应用程序池是一种通过进程边界在 Web 服务器中创建隔离区并将 URL 集路由到每个隔离区的方法。 See more info here:http://technet.microsoft.com/en-us/library/cc735247(WS.10).aspx在此处查看更多信息:http ://technet.microsoft.com/en-us/library/cc735247(WS.10).aspx

An application pool is a group of one or more URLs that are served by a worker process or set of worker processes.应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。 Any Web directory or virtual directory can be assigned to an application pool.任何 Web 目录或虚拟目录都可以分配给应用程序池。

Every application within an application pool shares the same worker process.应用程序池中的每个应用程序共享相同的工作进程。

假设游泳者在为他们保留的区域内的游泳池游泳。如果游泳者在为他们保留的区域以外的地方游泳会发生什么,整个事情就会变得一团糟。类似地,iis 使用应用程序池将一个进程与另一个进程分开。

IIS-Internet information Service is a web server used to host one or more web application . IIS-Internet 信息服务是一种用于托管一个或多个 Web 应用程序的 Web 服务器。 Lets take any example here say Microsoft is maintaining web server and we are running our website abc.com (news content based)on this IIS.举个例子,微软正在维护网络服务器,我们在这个 IIS 上运行我们的网站 abc.com(基于新闻内容)。 Since, Microsoft is a big shot company it might take or also ready to host another website say xyz.com(ecommerce based).因为,微软是一家大公司,它可能需要或准备托管另一个网站,比如 xyz.com(基于电子商务)。

Now web server is hosting ie providing memory to run both websites on its single web server.Thus , here application pools come into picture .现在 web 服务器正在托管,即提供内存以在其单个 web 服务器上运行两个网站。因此,这里应用程序池出现了。 abc.com has its own rules, business logic , data etc and same applies to xyz.com. abc.com 有自己的规则、业务逻辑、数据等,同样适用于 xyz.com。

IIS provides two application pools (path) to run two websites in their own world (data) smoothly in a single webserver without affecting each ones matter (security, scalability).This is application pool in IIS. IIS 提供了两个应用程序池(路径),让两个网站在自己的世界(数据)中顺利运行在单个 Web 服务器中,而不会影响每个网站的事务(安全性、可扩展性)。这就是 IIS 中的应用程序池。

So you can have any number of application pool depending upon on servers capacity因此,您可以根据服务器容量拥有任意数量的应用程序池

An application pool is a group of urls served by worker processors or set of worker processors.应用程序池是一组由工作处理器或工作处理器集提供的 url。

There can exist any number of application pools.可以存在任意数量的应用程序池。

In IIS it is possible to create more than one application pool.在 IIS 中,可以创建多个应用程序池。

An application in different application pool runs in different worker processors.不同应用程序池中的应用程序在不同的工作处理器中运行。

Advantage: If an error occurred in one application pool will not effect the applications running in another application pool.优点:如果一个应用程序池中发生错误,不会影响另一个应用程序池中运行的应用程序。

An Application pool is a collection of applications which uses the same worker process of IIS (w3wp.exe).应用程序池是一组使用 IIS (w3wp.exe) 相同工作进程的应用程序。 Primary concern of using Application pool is to isolate two different applications with different security concerns and also to avoid crashing of applications due to worker process death.使用应用程序池的主要问题是隔离两个具有不同安全问题的不同应用程序,同时避免由于工作进程死亡而导致应用程序崩溃。

An application pool is a group of one or more URLs that are served by a worker process or set of worker processes.应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。 Application pools are used to separate sets of IIS worker processes that share the same configuration and application boundaries.应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。 Application pools are used to isolate our web application for better security, reliability, availability and performance, and they keep running without impacting each other.应用程序池用于隔离我们的 Web 应用程序,以获得更好的安全性、可靠性、可用性和性能,并且它们在不相互影响的情况下继续运行。

An application pool is like a pond, if I create 2 application pools, first application pool has 100 fishes and another application pool has 200 fishes, here fish is like an application in application pool.一个应用程序池就像一个池塘,如果我创建2个应用程序池,第一个应用程序池有100条鱼,另一个应用程序池有200条鱼,这里的鱼就像应用程序池中的一个应用程序。 They are managed by worker processes.它们由工作进程管理。 Best advantage is: if pound number-1 has bad water and cases all fish are effected then there is security of fish in pound number-2.最大的优势是:如果 1 号磅的水质不好并且所有鱼都受到影响,那么 2 号磅的鱼就有安全性。 Like this if any application pool is effected by any problem but there is not any effect of this problem in application pool 2 so security in improve, and another profit is that is you provide all necessary authentication and rights to all applications in a single application pool.像这样,如果任何应用程序池受到任何问题的影响,但在应用程序池 2 中没有此问题的任何影响,因此提高了安全性,另一个好处是您可以为单个应用程序池中的所有应用程序提供所有必要的身份验证和权限.

Application pools are used to separate sets of IIS worker processes that share the same configuration and application boundaries.应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。

Application pools used to isolate our web application for better security, reliability, and availability and performance and keep running without impacting each other .应用程序池用于隔离我们的 Web 应用程序,以提高安全性、可靠性、可用性和性能,并在不相互影响的情况下继续运行。 The worker process serves as the process boundary that separates each application pool so that when one worker process or application is having an issue or recycles, other applications or worker processes are not affected.工作进程用作分隔每个应用程序池的进程边界,以便当一个工作进程或应用程序出现问题或回收时,其他应用程序或工作进程不受影响。 One Application Pool can have multiple worker process Also.一个应用程序池也可以有多个工作进程。

Or we can simply say that, An application pool is a group of one or more URLs that are served by a worker process or set of worker processes.或者我们可以简单地说,应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。 Any Web directory or virtual directory can be assigned to an application pool.任何 Web 目录或虚拟目录都可以分配给应用程序池。 So that one website cannot be affected by other, if u used separated application pool.如果您使用单独的应用程序池,则一个网站不会受到其他网站的影响。

Source : Interviewwiz资料来源: Interviewwiz

An application pool is a group of one or more URLs that are served by a worker process or set of worker processes.应用程序池是一组一个或多个 URL,由一个工作进程或一组工作进程提供服务。 Application pools are used to separate sets of IIS worker processes that share the same configuration and application boundaries.应用程序池用于分隔共享相同配置和应用程序边界的 IIS 工作进程集。

Application pools are used to separate set of IIS worker processes that share the same configuration.应用程序池用于分隔共享相同配置的一组 IIS 工作进程。 Application pools enable us to isolate our web application for better security, reliability, and availability应用程序池使我们能够隔离我们的 Web 应用程序以获得更好的安全性、可靠性和可用性

The application Pools element contains configuration settings for all application pools running on your IIS.应用程序池元素包含在 IIS 上运行的所有应用程序池的配置设置。 An application pool defines a group of one or more worker processes, configured with common settings that serve requests to one or more applications that are assigned to that application pool.应用程序池定义了一组一个或多个工作进程,这些进程使用通用设置进行配置,这些设置为分配给该应用程序池的一个或多个应用程序提供请求。

Because application pools allow a set of Web applications to share one or more similarly configured worker processes, they provide a convenient way to isolate a set of Web applications from other Web applications on the server computer.因为应用程序池允许一组 Web 应用程序共享一个或多个类似配置的工作进程,所以它们提供了一种方便的方法来将一组 Web 应用程序与服务器计算机上的其他 Web 应用程序隔离。

Process boundaries separate each worker process;进程边界将每个工作进程分开; therefore, application problems in one application pool do not affect Web sites or applications in other application pools.因此,一个应用程序池中的应用程序问题不会影响其他应用程序池中的网站或应用程序。 Application pools significantly increase both the reliability and manageability of your Web infrastructure.应用程序池显着提高了 Web 基础架构的可靠性和可管理性。

application pool provides isolation for your application.应用程序池为您的应用程序提供隔离。 and increase the availability of your application because each pool run in its own process so an error in one app won't cause other application pool.并提高应用程序的可用性,因为每个池都在自己的进程中运行,因此一个应用程序中的错误不会导致其他应用程序池。 And we have shared pool that hosts several web applications running under it and dedicated pool that has single application running on it.我们有共享池,用于托管在其下运行的多个 Web 应用程序,以及在其上运行单个应用程序的专用池。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM