一、环境准备:IIS安装与基础配置
IIS(Internet Information Services)作为Windows系统原生支持的Web服务组件,其安装过程因操作系统版本不同存在差异。对于企业级服务器环境,推荐使用Windows Server系统进行部署。
-
Windows Server部署流程
- 打开”服务器管理器”,选择”添加角色和功能”
- 在”服务器角色”配置页勾选”Web服务器(IIS)”
- 展开”角色服务”选项卡,建议勾选以下组件:
- 应用程序开发功能:ASP.NET、CGI支持
- 健康和诊断:请求跟踪、日志工具
- 安全性:请求筛选、URL授权
- 性能:静态内容压缩、动态内容压缩
- 完成配置后系统将自动执行安装,无需重启即可生效
-
Windows 10/11工作站部署
- 通过控制面板进入”程序和功能”设置
- 启用”Internet Information Services”主功能
- 特别勾选”Web管理工具”和”万维网服务”子项
- 安装完成后可通过
http://localhost验证服务状态
-
环境验证标准
- 访问默认页面应显示IIS欢迎界面
- 检查
C:\inetpub\wwwroot目录是否存在 - 确认80端口处于监听状态(
netstat -ano | findstr :80)
二、站点资源准备:文件结构与内容组织
合理的文件架构是网站稳定运行的基础,需遵循以下规范:
-
目录结构设计原则
- 主目录示例:
D:\WebSites\MyProject - 子目录划分:
/assets:存放CSS/JS/图片等静态资源/api:RESTful接口文件(如.ashx处理程序)/logs:日志文件存储区/backup:数据库备份文件
- 主目录示例:
-
关键文件要求
- 必须包含默认文档(优先级排序):
index.htmldefault.htmindex.aspxdefault.asp
- 建议配置
web.config文件实现基础配置:<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><defaultDocument enabled="true"><files><add value="index.html" /></files></defaultDocument><staticContent><mimeMap fileExtension=".woff2" mimeType="font/woff2" /></staticContent></system.webServer></configuration>
- 必须包含默认文档(优先级排序):
-
特殊文件处理
- 数据库文件建议存放于非Web目录
- 配置文件(如
.env)需设置<fileExtensions denyUnlisted="true"> - 上传目录应禁用脚本执行权限
三、站点创建:IIS管理器深度配置
通过IIS管理器可完成站点的精细化配置,操作路径:开始菜单→Windows管理工具→Internet Information Services (IIS)管理器
-
基础站点配置
- 右键”网站”→”添加网站”:
- 站点名称:建议使用项目代号(如PRJ_202403)
- 物理路径:选择预先准备的主目录
- 绑定类型:
- HTTP:端口80(生产环境建议重定向到HTTPS)
- HTTPS:需提前配置SSL证书
- 主机名:填写域名或留空(本地测试)
- 右键”网站”→”添加网站”:
-
高级配置选项
- 应用程序池设置:
- 创建专用池(避免与其他站点共用)
- 选择.NET CLR版本(根据项目需求)
- 启用”快速失败保护”(默认触发阈值5次/5分钟)
- 目录浏览:生产环境必须禁用
- 请求筛选:
- 阻止危险扩展名(如
.config、.bak) - 限制请求大小(默认30MB,可根据需求调整)
- 阻止危险扩展名(如
- 应用程序池设置:
-
SSL证书配置指南
- 获取证书:
- 测试环境可使用自签名证书
- 生产环境建议申请DV/OV证书
- 安装步骤:
- 打开”服务器证书”管理界面
- 导入PFX格式证书文件
- 在站点绑定中添加HTTPS类型
- 配置SNI(多域名场景必需)
- 获取证书:
四、安全加固:生产环境必备措施
网站上线前必须完成以下安全配置:
-
访问控制策略
- IP地址限制:
<system.webServer><security><ipSecurity allowUnlisted="false"><add ipAddress="192.168.1.100" allowed="true" /></ipSecurity></security></system.webServer>
- 认证方式选择:
- 匿名认证(公开站点)
- Windows认证(内网系统)
- 摘要式认证(跨域场景)
- IP地址限制:
-
数据传输安全
- 强制HTTPS跳转:
<rewrite><rules><rule name="HTTP to HTTPS redirect" stopProcessing="true"><match url="(.*)" /><conditions><add input="{HTTPS}" pattern="^OFF$" /></conditions><action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /></rule></rules></rewrite>
- 启用HSTS策略(需HTTPS支持)
- 强制HTTPS跳转:
-
日志与监控配置
- 启用失败请求跟踪(路径:
%SystemDrive%\inetpub\logs\FailedReqLogFiles) - 配置自定义日志字段:
- 客户端IP
- 用户代理
- 请求耗时
- 设置日志轮转策略(按日期/大小分割)
- 启用失败请求跟踪(路径:
五、性能优化:提升并发处理能力
针对高流量场景的优化建议:
-
缓存策略配置
- 输出缓存设置:
- 可缓存扩展名:
.html、.jpg、.css - 缓存时间:静态资源建议设置7天
- 可缓存扩展名:
- 浏览器缓存控制:
<staticContent><clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /></staticContent>
- 输出缓存设置:
-
压缩配置
- 启用动态内容压缩(需安装”动态内容压缩”角色服务)
- 配置压缩文件类型:
<urlCompression doStaticCompression="true" doDynamicCompression="true" /><httpCompression><scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /><staticTypes><add mimeType="text/*" enabled="true" /><add mimeType="message/*" enabled="true" /></staticTypes></httpCompression>
-
应用程序池调优
- 队列长度:默认1024,高并发场景可调整至4096
- 回收策略:
- 固定时间回收(如每日凌晨3点)
- 虚拟内存限制(建议设置为物理内存的1.5倍)
- 启用CPU监控(自动回收阈值建议设置为80%)
通过完成以上配置,开发者可构建出安全、高效、可维护的IIS网站环境。实际部署时需根据具体业务需求调整参数,并定期进行安全审计和性能监控,确保系统长期稳定运行。