IIS 7 发布网站详细教程
本教程将以 Windows Server 2008 R2 / Windows 7 为例,但其核心步骤在更高版本的 Windows Server (如 2012, 2025, 2025) 和 Windows 10/11 中也基本适用。

(图片来源网络,侵删)
第一部分:安装和配置 IIS
在发布网站之前,必须确保你的 Windows 系统上安装并正确配置了 IIS。
步骤 1: 安装 IIS
-
打开“服务器管理器”或“程序和功能”
- 对于 Windows Server 2008 R2 / Windows 7:
点击“开始” -> “控制面板” -> “程序” -> “打开或关闭 Windows 功能”。
- 对于 Windows Server 2012 及更高版本 / Windows 10/11:
点击“开始” -> “服务器管理器”(或直接搜索“打开或关闭 Windows 功能”)。
(图片来源网络,侵删)
- 对于 Windows Server 2008 R2 / Windows 7:
-
勾选 IIS 组件
- 在弹出的窗口中,找到并展开 “Internet 信息服务 (IIS)”。
- 依次展开 “万维网服务”。
- 必须勾选以下核心组件:
- 应用程序开发功能:
- ASP.NET: 用于托管 .NET Framework 应用程序。
- CGI: 如果你的网站使用 Perl 或其他 CGI 脚本。
- ISAPI 扩展: 这是运行 ASP 经典页面的必要条件。
- 常见 HTTP 功能:
- 默认文档: 允许你设置网站的首页(如
index.html,default.aspx)。 - HTTP 错误: 自定义错误页面。
- 处理: 用于处理 HTML, CSS, JS, 图片等文件。
- 默认文档: 允许你设置网站的首页(如
- 健康工具:
- 请求筛选: 安全功能,可以防止恶意请求。
- 应用程序开发功能:
-
确认安装
- 点击“确定”,Windows 会自动下载并安装所选的 IIS 组件,安装完成后,你可以在浏览器中访问
http://localhost,如果看到 IIS 欢迎页面,说明安装成功。
- 点击“确定”,Windows 会自动下载并安装所选的 IIS 组件,安装完成后,你可以在浏览器中访问
第二部分:在 IIS 中创建和配置网站
IIS 已经准备就绪,我们需要创建一个网站来承载你的应用程序。
步骤 2: 创建网站
-
打开 IIS 管理器
(图片来源网络,侵删)- 点击“开始” -> “管理工具” -> “Internet 信息服务 (IIS) 管理器”。
-
添加新网站
- 在 IIS 管理器的左侧窗格中,右键点击 “网站”。
- 选择 “添加网站...”。
-
填写网站信息
- 网站名称: 给你的网站起一个易于识别的名称,"MyWebApp"。
- 物理路径: 选择你的网站文件所在的文件夹。
C:\inetpub\wwwroot\MyWebApp。请确保你的网站文件已经提前复制到此文件夹中。 - 类型: 保持默认的 “网站”。
- 应用程序池: 保持默认的 "DefaultAppPool",对于 .NET 应用程序,这是一个不错的选择。
- 端口: 默认为 80,如果你的 80 端口被占用,可以更改为其他端口(如 8080)。
- 主机名: 这是可选的,如果你想通过域名访问(如
www.mydomain.com),在这里输入域名,如果只是通过 IP 或http://localhost访问,此项留空。 - 点击“确定”。
步骤 3: 配置网站基本设置
-
设置默认文档
- 在左侧选中你刚刚创建的网站。
- 在中间窗格中,双击 “默认文档”。
- 在右侧,点击 “添加...”,输入你的首页文件名,
index.html或default.aspx。 - 使用右侧的“上移”和“下移”按钮,确保你的首页文件在列表的最顶部。
-
配置目录浏览
- 在左侧选中网站,双击 “目录浏览”。
- 在右侧,确保“启用”是选中的,这方便你测试,但生产环境中建议关闭,以防止目录列表被恶意访问。
-
配置应用程序池
- 在左侧的“应用程序池”中,找到你网站使用的应用程序池(如
DefaultAppPool)。 - .NET Framework 版本: 右键点击应用程序池 -> “高级设置” -> 在 “常规” 部分找到 “托管管道模式”,确保版本正确。
- 托管管道模式: 对于 .NET 2.0 及以上版本,应选择 “集成” 模式,对于经典的 ASP 程序,可能需要使用 “经典” 模式,现代 .NET 应用(如 .NET Core, .NET 5+)通常不依赖于此,而是作为独立的进程运行。
- 在左侧的“应用程序池”中,找到你网站使用的应用程序池(如
第三部分:发布网站
将你的网站代码部署到 IIS 的物理路径中。
手动复制(适用于静态网站或简单项目)
这是最简单直接的方法。
- 将你的所有网站文件(HTML, CSS, JS, 图片, DLL 等)打包。
- 通过文件资源管理器,将这些文件完整地复制到你在步骤 2 中设置的 “物理路径” 文件夹中(
C:\inetpub\wwwroot\MyWebApp)。
使用 Web Deploy(推荐,适用于动态项目)
Web Deploy 是一个更强大的工具,可以实现自动化的部署、同步和发布。
- 在开发机上安装 Web Deploy: 从 Microsoft 官网下载并安装 "Web Deploy"。
- 在服务器上配置 Web Deploy: 在 IIS 管理器中,确保服务器已启用 Web Deploy 发布,通常在“服务器管理器”的“角色” -> “Web 服务器 (IIS)” -> “管理”中配置。
- 发布网站:
- Visual Studio: 在你的 Web 项目上右键 -> “发布” -> 选择 “Web Deploy” 作为发布方法,然后输入服务器的地址、凭据等信息。
- Visual Studio Code: 可以使用 "Publish to IIS" 扩展。
- 命令行: 使用
msdeploy.exe命令行工具。
第四部分:测试网站
完成配置后,进行测试以确保一切正常。
-
本地测试
- 在 IIS 管理器中,选中你的网站。
- 在右侧的“操作”窗格中,点击 *“浏览 :80 (http)”**。
- 如果配置正确,你的网站应该会在浏览器中正常显示。
-
通过 IP 地址测试
- 打开命令提示符,输入
ipconfig查看你的服务器 IP 地址。 - 在浏览器中访问
http://<你的IP地址>,如果网站能打开,说明 IIS 基本配置没问题。
- 打开命令提示符,输入
-
通过域名测试(如果配置了)
- 如果你在步骤 2 中设置了主机名,并且你的 DNS 已正确指向该服务器,那么访问
http://www.mydomain.com即可。
- 如果你在步骤 2 中设置了主机名,并且你的 DNS 已正确指向该服务器,那么访问
第五部分:常见问题与解决方案
问题 1: HTTP 错误 403.14 - Forbidden
- 现象: 访问网站时提示 "您无权查看此目录或页面"。
- 原因: 最常见的原因是没有在“默认文档”中配置首页文件,或者 IIS 无法找到首页文件,因此无法列出目录内容,而“目录浏览”功能又被关闭了。
- 解决方案:
- 确保“目录浏览”是启用的(用于测试)。
- 检查“默认文档”列表,并确保你的首页文件(如
index.html)在列表最顶部。
问题 2: HTTP 错误 404.0 - Not Found
- 现象: 页面找不到,可能是访问的页面不存在,或者网站根目录配置错误。
- 原因:
- 你访问的页面确实不存在于网站文件夹中。
- “物理路径”指向的文件夹是空的,或者文件不正确。
- 解决方案:
- 检查你访问的 URL 是否正确。
- 检查 IIS 中网站的“物理路径”是否正确指向了包含你网站文件的文件夹。
问题 3: HTTP 错误 500.19 - Internal Server Error
- 现象: 配置数据库访问或特定功能时出现,提示 "无法访问请求的页面,因为该页面的相关配置数据无效"。
- 原因: 通常是
web.config文件中的配置有语法错误,IIS 在加载配置时失败。 - 解决方案:
- 检查网站的
web.config文件,确保 XML 格式正确,没有拼写错误或标签未闭合。 - 可以尝试暂时将
web.config重命名,如果网站能打开,则说明问题出在该文件中。
- 检查网站的
问题 4: 无法连接到远程服务器
- 现象: 从另一台电脑访问时,浏览器提示“无法连接”或“连接超时”。
- 原因:
- Windows 防火墙阻止了端口(默认是 80 端口)。
- 服务器没有启用“远程桌面”或相关网络服务。
- 解决方案:
- 配置防火墙: 打开“Windows 防火墙”,进入“高级设置”,在“入站规则”中,确保有一条规则允许 “TCP 端口 80”(或你自定义的端口)的连接。
- 检查网络: 确保服务器和客户端在同一网络内,并且网络连通。
发布网站到 IIS 7 的核心流程可以概括为:
- 安装: 安装 IIS 及其必要组件。
- 创建: 在 IIS 中创建网站,指定物理路径和端口。
- 配置: 设置默认文档、目录浏览等基本选项。
- 发布: 将网站文件复制到物理路径。
- 测试: 本地、IP、域名多维度测试。
- 排错: 根据错误代码(如 403, 404, 500)定位并解决问题。
遵循以上步骤,你应该就能成功地将你的网站发布到 IIS 7 上了,如果在部署 .NET Core / .NET 5+ 等新式应用时遇到问题,可能还需要额外安装 .NET Core Hosting Bundle 或 .NET Runtime,并配置为“进程外托管”或“进程内托管”,但这超出了本教程的基础范围。
