IIS服务器中的WAS是什么?

在IIS(Internet Information Services,互联网信息服务)服务器的上下文中,WAS 通常指的是Windows Process Activation Service(Windows 进程激活服务)。

iis服务器 was是什么

WAS 是 IIS 7.0 及以上版本中负责管理应用程序池和进程的核心组件,可以把它理解为IIS的“进程管家”。

核心作用与职责

1、管理应用程序池(Application Pools):

- 它负责创建、启动、停止和回收应用程序池的工作进程(w3wp.exe)。

- 当有HTTP请求进来时,WAS会决定是让一个已有的工作进程处理,还是启动一个新的进程。

- 它根据应用程序池的配置(如回收时间、空闲超时、CPU限制等)来执行相应的动作。

iis服务器 was是什么

2、处理基于非HTTP协议的请求:

- 这是WAS区别于早期IIS版本(IIS 6.0及更早)的关键特性,早期的IIS只能处理HTTP请求。

- WAS 作为一个通用的进程激活服务,支持通过协议监听器(Protocol Listeners,如W3SVC监听HTTP,NettcpActivator监听Net.Tcp等)来接收来自非HTTP协议(如Net.Tcp, Net.Pipe, Net.Msmq等)的请求,这使得IIS可以承载和激活WCF(Windows Communication Foundation)服务等更广泛的应用。

与其他组件的协作关系

为了更好地理解,可以把它和IIS的核心组件W3SVC(World Wide Web Publishing Service,万维网发布服务)做个对比:

组件 主要职责 核心功能
WAS进程管理 管理应用程序池的生命周期,为HTTP和非HTTP协议提供进程激活服务。
W3SVCHTTP请求管理 监听HTTP请求,执行请求队列、日志记录、访问控制等HTTP特有的任务,并将请求交给WAS启动的进程处理。

工作流程示例(HTTP请求):

iis服务器 was是什么

1、W3SVC 收到一个HTTP请求。

2、 W3SVC 查看请求的站点对应的应用程序池配置,然后通知WAS:“有一个去应用池A的HTTP请求。”

3、WAS 检查应用池A是否有正在运行的w3wp.exe进程。

:WAS 通知 W3SVC “进程已就绪,请把请求发过去。”

:WAS 创建一个新的w3wp.exe进程,然后通知W3SVC。

4、 W3SVC 将请求传递给w3wp.exe进程。

为什么WAS很重要?

更高的资源利用率和可靠性的基础:通过精细的进程管理(如隔离、回收、快速失败保护),WAS保证了应用程序之间的隔离,一个应用池的崩溃不会影响其他池。

支持非HTTP应用:WAS使IIS不再是单纯的Web服务器,而是一个通用的应用托管平台,可以运行WCF服务等,并通过IIS的管理界面和功能(如日志、监控、配置)进行管理。

灵活的消息处理架构:WAS将进程管理与协议监听分离,使得添加对新协议的支持更加容易,无需修改核心进程模型。

如何查看和配置WAS?

查看服务状态:在Windows的“服务”管理控制台(services.msc)中,可以找到名为Windows Process Activation Service 的服务。

配置:WAS的大部分配置(如应用程序池设置)是在IIS管理器 中通过图形界面进行的,虽然底层是WAS在读取和响应这些配置,配置存储在C:\Windows\System32\inetsrv\config\applicationHost.config 文件中。

问题 答案
WAS是什么?Windows Process Activation Service,是IIS的进程激活服务。
主要做什么? 管理应用程序池的创建、启动、停止、回收,并为HTTP和非HTTP协议提供进程激活
为什么存在? 取代了旧版IIS的单进程模型,实现了更健壮的进程隔离资源管理,并支持托管非HTTP应用(如WCF服务)。
它=WWW服务?不等于,它和W3SVC(WWW服务)分工协作,WAS管进程,W3SVC管HTTP请求。

当你听到“IIS中的WAS”时,可以记住它是IIS背后那位重要的进程管家激活服务员

文章摘自:https://idc.huochengrm.cn/js/26936.html

评论