IIS7.0完【wán】整安装包是微软官方推出的信息服务管理器,集成了IIS7.0以前版本所有功【gōng】能【néng】,用于内联网、外联【lián】网、Internet网络连接服务解决方案;IIS7.0主要【yào】适用于Windows Server2008中【zhōng】web服务器中常见使用,相比【bǐ】IIS6.0,会有更多特色部分,需要IIS7.0的用户【hù】前来下载吧。
IIS(Internet Information Services)7 指 Windows Server 2008、Windows Server 2008 R2、Windows Vista 和 Windows 7 的某【mǒu】些版本中包含的【de】 IIS 版本。IIS 7.0 在 Windows Server 2008 中是 Web 服务器 (IIS) 角色,而在 Windows Vista 中是 Web 服务器。
IIS 7.5 在 Windows Server 2008 R2 中是 Web 服务器 (IIS) 角色,而在 Windows 7 中是 Web 服务器。Web 服务器在 IIS 7 中经过重新设计,您将能够通过添【tiān】加或【huò】删除模块来自定义服务器,以满足您的【de】特【tè】定需求。模块是服务器【qì】用于处理请求的独特功能。例如,IIS 使用身份验【yàn】证模【mó】块对客户端凭据进行身份验证,并使用缓【huǎn】存模块来管理缓存【cún】活【huó】动。IIS是一个支持HTTP和FTP发布服务的Web服务器。IIS 7.0 通过支持灵活的可【kě】扩展模型来实现强大的定【dìng】制功能,通过安装和运行特征加强安全。
IIS 7.0现在还可以让那些在其中【zhōng】负责web应用程序或服务的人来代理权限,通过选择性地安装和运【yùn】行特【tè】性增强【qiáng】安全性。IIS 7.0的可扩展性包括一个全新的核心服务器API集合【hé】,这使得特【tè】性模【mó】块可以用本机码(C/C++)或托管代码开发。IIS 7.0还启用了配置、脚本、事件日志和【hé】管理工具特性集的【de】可扩展性,向【xiàng】软件开发者提供了一【yī】个完备的服务器平台,开发者可以在该平台上建立Web服务器扩展模块。IIS 7.0 包【bāo】括了一整套的管理工具,包括新的【de】管理员和命令行工具,新的【de】托管代码和脚本API和Windows PowerShell支持简化开发人员和管理员的日常工【gōng】作。管理工具【jù】是完全可扩展的,使得开发者【zhě】能够使用.NET框架建立新的管理模【mó】块,也很【hěn】容易将新的管理UI模块【kuài】插入进来,如同随IIS 7.0发布的那些【xiē】模块一般,新模块的工作过程是透【tòu】明的。
IIS 7.0核心Web服务器与IIS 6.0比较,有【yǒu】一些根本【běn】性的变化。例如,本机代码和【hé】托管【guǎn】代码可以通过单【dān】一【yī】的请求流程进行【háng】处理。集成化的流程【chéng】,使得不同【tóng】的应【yīng】用框架可以在单一的Web服务器请求流水线中运行,为所有应用程序提供了内建的ASP. NET可扩【kuò】展性。IIS 7.0还支持使用.NET框架开发核心Web服务器扩展。IIS 7.0集成了现存的用于ASP. NET的IHttpModule API,使【shǐ】得对于所有请求,你的托管代码模块都能够访问请【qǐng】求【qiú】流程中的所有事件【jiàn】。IIS 7.0包括一个新的Runtime State and Control API,提供了关于【yú】应用程序池、工作进程、网站、应【yīng】用程序域、和运行中的请求的实时状态信息。该信息通过本【běn】机COM组件API暴露出来。该API是通过新的IIS WMI提供【gòng】者appcmd.exe和IIS Manager包装和暴露出【chū】来的。
Windows Server 2008提供了在生产环境中支持Web内容承载所【suǒ】需的全部 IIS 功能【néng】。Windows Vista 也提供了 IIS 功能,但可用功能取决于Windows Vista的版本。Windows Vista中的IIS对于想要构建和测试 Web应用【yòng】程序的用户【hù】而言十分【fèn】理想。
IIS 7.0 包括Microsoft.Web.Administration接【jiē】口编程用来管理服务器。IIS 7.0 还包【bāo】括一个新的Windows Management Instrumentation(WMI)提【tí】供者用来提【tí】供访问配置和服【fú】务【wù】器的状态信息给VBScript和JScript。通过使用WMI,管理员可以轻松地自动化基本的配置【zhì】任务以及管理网站和应用【yòng】程序。
图形界面的新IIS管理器在【zài】防火墙里不开放【fàng】任何【hé】端【duān】口的情况下就可以通过HTTP的远程管理,该管理工具是完全可扩展的。
图形界面的新IIS管理器支持HTTP远程管理协【xié】议,在无需DCOM的情况下允许无缝地进行本【běn】地,远程,甚至跨互联网的连接或【huò】在防火墙里开【kāi】放其它管【guǎn】理端口。
从管理工具中打开“Internet信息服务器管【guǎn】理器”展开右侧的节点数【shù】,可以看见默认的站点“Default Web Site”,这些站点与默认【rèn】站点一样都属于“网站”下的子节点【diǎn】,如果需要【yào】配置某个站点,在“Internet信息服务器管理器”的【de】左侧窗口选【xuǎn】中其即可。
要【yào】建立一个Web站点,首选需要配置站点的IP地址和TCP端口【kǒu】。右击目标站点,从弹出来的快捷菜单中选择“编辑绑【bǎng】定”。
在弹出来的“网站绑定”窗口中,点击“编辑”按钮
在“编辑网【wǎng】站窗口【kǒu】”中,可以看见IP地【dì】址为“全部未分【fèn】配”,这里我们也可【kě】以指定一个固定的IP地址,单击下拉列表框选择,或者直接输入IP地址。
配置站点的物理路径和连接限制
打开“Internet信息服务器管理器”,在【zài】左侧窗【chuāng】口中右击目标站点,选择【zé】“管理网【wǎng】站”-“高级设置”命令。
在“高级设置”窗口中,设置站点的物【wù】理路径【jìng】,连【lián】接超时、最大【dà】并发连数、最大宽带。
在设置站点的默【mò】认文档【dàng】打开“Internet信息服务器管理器”在左侧窗口中选择目标站点,在中间窗口双击“默认文【wén】档”。
通过右侧操作窗口的“添【tiān】加【jiā】”、“删除”、“上移”、“下移”按钮,可以添加新的默认文档,也可以调整现有文档【dàng】的使用顺【shùn】序,或者删除不用【yòng】的默认文档。
1.容错进程架构 iis7.0的容错式进程【chéng】架构【gòu】将Web站点和应用程序隔离到一个自包含的单元之中(又称【chēng】应用【yòng】程序池)。应用程序池为管理【lǐ】员管理一组Web站点和应用程序提供了便利,同时提高了系统的可靠性【xìng】,因为一个应用程【chéng】序池中的错误不会引起另外一个应用程序池或者服务【wù】器本身发生故障。
2.健康状况监视 iis7.0定期检查应用程序池的状态,并自动重新启动应用程序池中发【fā】生故障的Web站点【diǎn】或【huò】应用程序,从而提高了应用程序的可用性。通过自动【dòng】禁用在【zài】短时间内频繁发【fā】生故障的Web站点和应用程【chéng】序【xù】,iis7.0可以保护服务器和其它应用程序的安【ān】全
3.自动进程【chéng】回收iis7.0可以根据一组灵活的标【biāo】准和条【tiáo】件――例如【rú】CPU利用率和【hé】内存占用情况,自动停止和重新启动发生故【gù】障【zhàng】的Web站点和应用程序,同时将请求放入队列。iis7.0还可以在回收一个工作进程时对客户机【jī】的【de】TCP/IP连接加以维护,将Web服务客户【hù】端应用程序与后端不稳定的Web应用程序隔离开【kāi】来。
4.快速的故障保护 如果某个应用程【chéng】序在短【duǎn】时间内频繁发生故【gù】障,iis7.0将自动禁用该程序,并且向所【suǒ】有新发出和排入队列的针对该应用程序的请求返回一个“503服务不可用”错【cuò】误信息。例如,此外,还可【kě】以触发某些定【dìng】制操作,例如【rú】触发一个调试操作或【huò】者向管理员发出通知。快速故障保护可以保护Web服务器免遭拒绝服务攻【gōng】击
通【tōng】过用户界面安装 单击“开始”/“控制面板”/“程序”,选择“打开或关闭Windows功能”
2.在Windows 功【gōng】能【néng】对话框中,选中“Internet信息服务”
3.单击“确【què】定【dìng】”,这时Windows Vista就会启动IIS的安装过程;
it猫扑网小编提醒您:如果你用上述步骤安装,得到的是默认的安装,也就【jiù】是最少的功能。如果【guǒ】你需要额外的IIS功能,如应用程序开发功能或者Web管理工具,就【jiù】要在Windows功【gōng】能对话框中,保证选中这些【xiē】功能的相关复选框。
4、安装完成后,在控制面板里面,单击“管理工具”
5、双击【jī】“Internet 信息服【fú】务(IIS)管理器”,即可进入IIS界面
IIS 7.0 HTTP 状态代码
当【dāng】您试图通过使用 HTTP 访问一台正在运行【háng】 Internet 信息服务 (IIS) 7.0 的服务器上的内容时,IIS 7.0 返回一个表示该响应的状态的数字代【dài】码。HTTP 状态代【dài】码记录在 IIS 日志【zhì】中。此外,HTTP 状态代码可能会显示在客【kè】户端浏览器中。
HTTP 状态代【dài】码【mǎ】可能表示请求是否成功或不成【chéng】功。HTTP 状态代码也可能显示请求成功的确切原因。
1xx - 信息
这些 HTTP 状态代码表示临时【shí】的响应。客户端在收到常规响应之前,应准备接收一个或【huò】多个 1xx 响应。
IIS 7.0 使用以下信息 HTTP 状态代码:
100 - 继续。
101 - 切换协议。
2xx - 成功
200 - 确定。客户端请求已成功。
201 - 已创建。 202 - 已接受。
203 - 非授权信息。
204 - 无内容。
205 - 重置内容。
206 - 部分内容。
3xx - 重定向
301 - 已被永远移走。
302 - 对象已移动。
304 - 未修改。
307 - 临时重定向。
4xx - 客户端错误
IIS 7.0 定义【yì】以下 HTTP 状态代码,表明 400 错误的具体原【yuán】因:
400.1 - 无效的目的标头。
400.2 - 无效的深度标头。
400.3 - 无效的如果标头。
400.4 - 无效的覆盖标头。
400.5 - 无效的转换标头。
400.6 - 无效的请求正文。
400.7 - 无效的内容长度。
400.8 - 无效的超时值。
400.9 - 无效的锁定令牌。
401 - 访问被拒绝。
IIS 7.0 定义几个【gè】 HTTP 状态代码,表明 401 错误【wù】的具体原因:以下特定的 HTTP 状态代码显示在客【kè】户端浏览器中,但是不会显【xiǎn】示在 IIS 日志中:
401.1 - 登录失败。
401.2 - 服务器配置导致登录失败。
401.3 - 由于 ACL 对资源的限制而未获得授权。
401.4 - 筛选器授权失败。
401.5 - ISAPI/CGI 应用程序授权失败。
403 - 禁止访问:
IIS 7.0 定义以下 HTTP 状态代码,表明 403 错误【wù】的具体【tǐ】原因:
403.1 - 执行访问被禁止。
403.2 - 读访问被禁止。
403.3 - 写访问被禁止。
403.4 - 要求SSL。
403.5 - 要求 SSL 128。
403.6 - IP 地址被拒绝。
403.7 - 要求客户端证书。
403.8 - 站点访问被拒绝。
403.9 - 禁止:许多客户端尝试连接到 Web 服务器:
403.10 - 禁止访问:配【pèi】置 Web 服务器为拒绝执行访问。
403.11 - 禁止访问:密码已更改。
403.12 - 拒绝访问映射表。
403.13 - 客户端证书被吊销。
403.14 - 拒绝目录列表。
403.15 - 禁止访问: Client access licenses have exceeded limits on the Web server.
403.16 - 客户端证书不受信任或无效。
403.17 - 客户端证书已过期或尚未生效。
403.18 - 在【zài】当前的应【yīng】用程序池中不能执行所请求的 URL。
403.19 - 在此应用程序池中不能执【zhí】行客户端的 CGI 应用程序【xù】。
403.20 - 禁止访问:护照登录失败。
403.21 - 禁止访问:拒绝源访问。
403.22 - 禁止访问:拒绝无限深度。
404 - 未找到。
IIS 7.0 定义以下HTTP 状态代码,表【biǎo】明 404 错误的具体原因:
404.0 - 未找到。
404.1 - 站点未找到。
404.2 - ISAPI 或 CGI 限制。
404.3 - MIME 类型限制。
404.4 - 未配置处理程序。
404.5 - 被请求筛选器配置拒绝。
404.6 - 动词被拒绝。
404.7 - 文件扩展名被拒绝。
404.8 - 隐藏的命名空间。
404.9 - 文件属性被隐藏。
404.10 - 请求标头太长。
404.11 - 请求包含双转义序列。
404.12 - 请求包含高位字符。
404.13 - 内容长度太大。
404.14 - 请求 URL 太长。
404.15 - 查询字符串太长。
404.16 - 发送到静态文件处理程序的 DAV 请求。
404.17 - 动态【tài】内容【róng】通过通配符 MIME 映射映射到静态文件处理程序。
405 - 无效的动词。
406 - 客户端浏览器不接受所请求页面的 MIME 类型。
408 - 请求超时。
412 - 前提条件失败。
5xx - 服务器错误
IIS 7.0 定义【yì】以下 HTTP 状态代码,表明 500 错误的具体原因:
500.0 - 发生模块或 ISAPI 错误。
500.11 - 正在 Web 服务器上关闭应用程序。
500.12 - 应用程序正忙于在【zài】 Web 服务器上重新启动。
500.13 - Web 服务器太忙。
500.15 - 不允许直接请求 Global.asax。
500.19 - 配置数据无效。
500.21 - 模块无法识别。
500.22 - 无法在托管管道模式下应用 ASP.NET httpModules 配置。
500.23 - 无法在托管管道模式下应用 ASP.NET httpHandlers 配置【zhì】。
500.24 - 无法在托管管道模式【shì】下应用 ASP.NET impersonation 配置。
500.50 - RQ_BEGIN_REQUEST 通知处理期间,发生重写错误。发生配置或入站【zhàn】规则【zé】执行【háng】错误。
IIS 7.0的集成模式和经典模式
IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式。经典模式【shì】是为了与之【zhī】前的版本兼容,使用ISAPI扩展来调【diào】用ASP.NET运行库,原先运行于IIS6.0下的【de】Web应用程序迁移到IIS7.0中只要将应用程序配置成经典模式【shì】,代【dài】码基本不用修改就可以正常运行。集成模式是【shì】一种统【tǒng】一的请求处理管道,它将【jiāng】ASP.NET请求管道与IIS核心管道组合在一【yī】起,这种模式能够提供更【gèng】好的性能,能够实现配置和管理的模块化,而且增【zēng】加了使用托管代【dài】码模块扩展【zhǎn】IIS时的灵活性。如果老的Web应用程序运行于IIS7.0的集成【chéng】模式下,可能【néng】需要对应用程序的web.config文件进行修改,尤其是使用了实现【xiàn】IHttpHandler接口的自定义模块的情况【kuàng】。IIS7.0在同一【yī】个服务器上能够同时支持两种模式的应用程序。
IIS6.0中ASP.NET MMC管【guǎn】理单元用【yòng】于配置ASP.NET,7.0中ASP.NET应用程序的管理域IIS管理更加紧密的集成在一起,不存在单独【dú】的管理单元,所有的IIS和ASP.NET配置都是使用IIS管理器完成的。IIS7.0配置信【xìn】息【xī】基于.NET Framework配【pèi】置系统,所以IIS7.0中运行的【de】应用程序的【de】web.config文件同时包含web服务器和ASP.NET配置设置,例如【rú】可以再【zài】web.config文件中设【shè】置扩展名和文件的映射(IIS6.0中必须在IIS中进行配【pèi】置)。
web.config文件的变化
system.webServer节指【zhǐ】定了应用于web应用程序的IIS7.0设【shè】置,其父节点是configuration,该节点中可以设置的内容包括:
当请求未包含指定资源时【shí】,Web服务器返回给客户端的默【mò】认文档(defaultDocument);
响应的压缩设置(httpCompression)
自定义头部(httpProtocol节的customHeaders)
模块(modules)
处理程序(handlers)
其中的一些设置【zhì】仅适用于集成【chéng】模式,而【ér】不适用于经典模式,如【rú】经典模式下运行的应【yīng】用程序则【zé】忽略【luè】web.config的system.WebServer节中指定的所有托管代码模【mó】块和处理程序,这种模式下web应用程序应该在syste.web节的httpModules和httpHandlers中定义模块和处理程序。
将 Web 应用程序迁移到集成模式
不包含自定义模块或处理程序的 Web 应用【yòng】程序通【tōng】常无需更改即可在 IIS 7.0 集成【chéng】模【mó】式下正常工作。对于依赖于自定义模块或处理程序【xù】的 Web 应用程序,需要执行以下步骤来使其能够在集成模式下运行:
使用本【běn】主【zhǔ】题稍后的将Web Config文件迁移到集成模式部分中描述的方法之一,在 Web.config 文件的 system.webServer 节中【zhōng】注册自定义模块和处【chù】理程序。
仅在自【zì】定义模块的 Init 方法中定义【yì】 HttpApplication 请求管道【dào】事件(如 BeginRequest 和 EndRequest)的事件处理程序。
请确保您【nín】已解决 Upgrading ASP.NET Applications to IIS 7.0: Differences between IIS 7.0 Integrated Mode and Classic mode(将 ASP.NET 应用程序升级到 IIS 7.0:IIS 7.0 集【jí】成模式和经典模式之间的区别)的“Known Differences Between Integrated Mode and Classic Mode”(集成模式和经典模式之间的已知【zhī】区别)部分【fèn】中【zhōng】讨论的问题。
实现 IHttpModule 接口的模块被称为托管代码模块【kuài】,因为它们【men】是使用 .NET Framework 生成的。可以在服务器级别或应用程序级别注册托管代【dài】码模块。本机代【dài】码模块是仅【jǐn】在服务器级别注册的 DLL(非托管代码)。在集成【chéng】模式下【xià】,将以托管【guǎn】模块的形式实现核心 ASP.NET 功能,例如会话状态和【hé】 Forms 身份验证。
在将应用程序从经典模式迁移【yí】到集成模【mó】式时,可以保留经典模式下的自定义模【mó】块和处理程序注册,也可以将这些注册移除。如果不【bú】移除经典模【mó】式下使用的 httpModules 和 httpHandlers 注册,则必【bì】须将 validation 元素的 validateIntegratedModeConfiguration 属【shǔ】性设置为【wéi】 false 以避免错误。validation 元素是 system.webServer 元素的子元素。有关更多信息,请参见 ASP.NET Integration with IIS 7.0(将 ASP.NET 与 IIS 7.0 集成)中的“Disabling the migration message”(禁用迁移消息)部分。
迁移 Web.config 文件以便在集成模式下使用
如果模块或处理程序是在应【yīng】用程序级别定义【yì】的,则不会自动调用该模块或处理【lǐ】程序。这涉及符合以下条件的模块或处理程序:在 Bin 文件夹下的程序集中定义;在App_Code文件夹【jiá】下作为源代码定义;没有在 Web.config 文件的【de】 system.webServer 节中注册【cè】和【hé】定义。为了使模块或【huò】处理程序能够参与集成模式请求管道,必须使用下列方法之一注册该模块【kuài】或处理程序:
直接编辑 Web.config 文件,并且将 modules 或 handlers 元素添加到 system.webServer 元素中。请注意,与经典【diǎn】模【mó】式相比,元素名称是不同的:modules 和 handlers 分别对应于经【jīng】典模式【shì】下的 httpModules 和 httpHandlers。
使用 IIS 管理器配【pèi】置模块或处理程序。有【yǒu】关更多信息,请参见 Configuring Handler Mappings in IIS 7.0(在 IIS 7.0 中配置处理【lǐ】程序【xù】映射)和 Configuring Modules in IIS 7.0(在 IIS 7.0 中配置模块【kuài】)。
使用 IIS 7.0 命令行【háng】工具 (Appcmd.exe)。有关更多信息,请参见【jiàn】 Configure Settings for a Site, Application, Virtual Directory or URL by Using Appcmd.exe(使【shǐ】用 Appcmd.exe 配置站点、应用程序、虚拟目录或 URL 的设置)。
使用集成模式的类和属性
在 IIS 7.0 集成模【mó】式以及 .NET Framework 3.0 版或更高版【bǎn】本中使用应用程序时,可以使【shǐ】用下面这些在【zài】经典模式下不可用的类和成员:
HttpResponse 对象的 SubStatusCode 属性【xìng】,使用它可以设置在配置了失败请求跟踪的情况【kuàng】下有用的代码。有关更多信息,请参见 Troubleshooting Failed Requests Using Failed Request Tracing in IIS 7.0(使用【yòng】 IIS 7.0 中的跟踪功能【néng】解决请【qǐng】求失败的问题)。
HttpResponse 对象的【de】 Headers 属性,使用它可以访问响应头。
HttpContext 对象的 IsPostNotification 和【hé】 CurrentNotification 属【shǔ】性,在提供 HttpApplication 事件的处理程序时可以使用它们。
HttpRequest 对象的 Headers 和 ServerVariables 属性,它们支持写功能。
集成模式与经典模式下请求处理管道的不同
集成【chéng】模【mó】式下ASP.NET的处理管道与经典模式是不同的。集成模式下不论是【shì】传统的ASP.NET Web Forms应用程序还是ASP.NET MVC应用程序都【dōu】可以使用Routing系统(路由系统)。
Routing系统原来是为ASP.NET MVC设计的,后来也被应用于其他ASP.NET技术,包【bāo】括ASP.NET Web Forms。这就是.NET Framework 3.5中Routing代码不在System.Web.Mvc.dll而在System.Web.Routing.dll中的原因。在.NET Framework 4.0中,Routing代码是在System.Web.dll中的【de】。
IIS 7.0 集成PHP环境
想必不少从事网站方面工作的朋友都想在在WIN7上安装PHP
phpStudy支持IIS6,IIS7
phpStudy支持IIS6,IIS7
和MYSQL吧,但是在百度和google上搜索都没有PHP FOR IIS7 [1] ,想要一键自动在【zài】WIN7上安装PHP和MYSQL看似【sì】有点痴人说梦了。最近找到了【le】一个国内的网站上有phpStudy,下载下【xià】来测试之后【hòu】发现确实可以一键自动在WIN7上安装PHP和MYSQL。
自己配置PHP环境比较麻烦【fán】,而且【qiě】容易出错,对于怕麻烦的朋友来说选择phpStudy一键自动在【zài】WIN7上安【ān】装PHP和MYSQL是【shì】一个不错的选择。