这里讨论安装iis服务。在IIS7.0之前,IIS是一个高度集成化的整体,要么整体提供安装,要么整体卸载,没有太多的选项提供给开发人员在安装时进行配置。在7.0之后,IIS采用了组件化设计,可以让管理员有选择的配置需要的IIS服务环境,以便Web网站的安全和其他性能。
1. IIS的安装步骤
IIS服务主要有下面几种安装方式,其中包括:
- 使用服务管理器安装IIS服务。
- 使用命令行的方式进行IIS安装。这种安装方式安装没有用户交互界面,也无法获取安装进度,但是可以内嵌在自动化脚本或者程序中在程序部署时静默安装IIS服务,需要管理员权限。
2. IIS组件列表及对应的功能
当使用图形化的方式安装IIS服务的时候可以看到可选的IIS服务组件列表主要有如下内容:
- FTP服务器、FTP服务和FTP扩展性:默认情况下占用20,21两个端口。其中20端口用于传输数据,21端口用于客户端与服务器之间传递控制数据。安装这个组件就可以在IIS上使用FTP协议在客户端与服务器端之间传输文件。IIS提供用户认证,上传/下载,获取操作日志和权限管理接口给开发人员。
- Web管理工具中的IIS6.0管理兼容性:向管理员提供一个向前管理兼容性。
- Web管理工具中的管理服务、管理脚本和工具及管理控制台:只WMSVC这个windows服务。让开发维护人员可以在同一网段内通过PC上的管理控制台管理远端的Web服务器。
- 安全性组件:主要是指配置IIS需要支持的用户验证方式,主要包括:证书验证、windows集成安全验证、基本身份验证、摘要式验证和匿名访问。
- 常见HTTP功能组件:HTTP错误功能组件(生成维护错误码对应的页面,当出现错误时将对应的页面返回给客户端。主要错误有401、403、404、405、406、412、500、501、502等),默认文档(没有明确指定资源时默认返回的资源),目录浏览,静态内容,HTTP重定向。
- 性能组件:主要是指压缩功能组件。
- 应用程序开发组件:.net extensibility 及 ASP.net等支持组件。
- 健康和诊断组件:HTTP日志记录,日志记录工具,请求监视,跟踪,自定义日志记录,ODBC日志记录。
- 管理工具:IIS管理控制台,IIS管理脚本和工具、IIS管理服务(用于集群管理)。
- IIS 6.0 管理兼容性:保证向前兼容,当有IIS6.0 之前版本的应用需要安装这个服务。
- IIS可承载Web核心:将Web Server基础功能API暴露给第三方开发者。
3. 推荐安装的IIS组件列表
这里给出典型场景下部署运行IIS需要安装的组件,具体如下:
| 种类 | 组件名称 | 是否需要安装 | 注释 |
|---|---|---|---|
| 常见HTTP功能 | |||
| 静态内容 | 是 | ||
| 默认文档 | 是 | 没有明确指定资源时默认返回的资源 | |
| 目录浏览 | 是 | ||
| HTTP错误 | 是 | ||
| HTTP重定向 | 否 | ||
| WebDAV发布 | 否 | ||
| 应用程序开发 | |||
| ASP.NET | 是 | ||
| .NET扩展性 | 是 | ||
| ASP | 否 | 仅在网站中含有.asp页面时需要安装 | |
| CGI | 否 | ||
| ISAPI扩展 | 是 | ||
| ISAPI筛选器 | 是 | ||
| 在服务器端的包含文件 | 否 | 仅在网站含有.shtml页面时安装 | |
| 健康和诊断 | |||
| HTTP日志记录 | 是 | ||
| 日志记录工具 | 是 | ||
| 请求监视 | 是 | ||
| 跟踪 | 是 | ||
| 自定义日志记录 | 否 | ||
| ODBC日志记录 | 否 | ||
| 安全性 | |||
| 基本身份验证 | 否 | ||
| Windows身份验证 | 否 | 仅当使用Windows账号体系验证时安装 | |
| 摘要式身份验证 | 否 | ||
| 客户端证书映射身份验证 | 否 | 仅在用户使用用户证书验证时安装 | |
| IIS客户端证书映射身份验证 | 否 | 仅在用户使用用户证书验证时安装 | |
| URL授权 | 否 | ||
| 请求筛选 | 是 | ||
| IP和域限制 | 否 | 此功能应该在三层网络设备上实现 | |
| 性能 | |||
| 静态内容压缩 | 是 | ||
| 动态内容压缩 | 否 | 仅在带宽有限且CPU资源充裕时启用 | |
| 管理工具 | |||
| IIS管理控制台 | 是 | ||
| IIS管理脚本和工具 | 是 | ||
| 管理服务 | 是 | ||
| IIS6.0 管理兼容性 | |||
| IIS6.0 元数据库兼容性 | 否 | ||
| IIS6.0 WMI兼容性 | 否 | ||
| IIS6.0 脚本工具 | 否 | ||
| IIS6.0 管理控制台 | 否 | ||
| FTP 服务器 | |||
| FTP Service | 否 | 不推荐Web服务器上同时部署FTP | |
| FTP扩展 | 否 | ||
| IIS可承载Web核心 | 否 | 开放基础功能组件 |