重要前提:Windows 7 已停止支持

在开始之前,请务必了解:微软已于 2025 年 1 月 14 日停止了对 Windows 7 的所有支持,包括安全更新,这意味着在连接互联网的 Windows 7 电脑上使用 IIS 存在巨大的安全风险。强烈建议仅在完全隔离的局域网环境(如开发机、测试机)或非常信任的内网环境中进行操作。

win7 iis 网站部署
(图片来源网络,侵删)

第一步:安装 IIS (Internet Information Services)

Windows 7 默认不安装 IIS,你需要手动添加它。

  1. 打开“控制面板”

    点击“开始”按钮 -> “控制面板”。

  2. 进入“程序和功能”

    win7 iis 网站部署
    (图片来源网络,侵删)

    在控制面板中,找到并点击“程序”或“程序和功能”。

  3. 打开“打开或关闭 Windows 功能”

    在左侧的菜单中,点击“打开或关闭 Windows 功能”。

  4. 勾选 IIS 组件

    • 在弹出的“Windows 功能”窗口中,找到并展开 “Internet 信息服务”

    • 依次勾选以下必要的组件:

      • Web 管理工具
        • 勾选 “IIS 管理控制台”:这是管理 IIS 的图形界面工具,必须安装。
      • 万维网服务
        • 勾选 “应用程序开发功能”
          • ASP.NET:用于托管 .NET Framework 应用程序(如 ASP.NET Web Forms, MVC, Web API)。
          • CGI:用于运行 Perl, Python 等脚本。
          • ISAPI 扩展ISAPI 筛选器:很多 Web 应用和服务器扩展需要它们。
        • 勾选 “常见 HTTP 功能”
          • 默认文档:设置网站的首页文件(如 index.html, default.aspx)。
          • HTTP 重定向:用于 URL 跳转。
          • :用于提供 HTML, CSS, JavaScript, 图片等文件。
          • 目录浏览:允许在目录下没有默认文档时,列出文件夹内容(生产环境建议关闭)。
          • HTTP 错误:自定义错误页面。
          • 请求筛选:安全功能,用于限制请求。
        • 勾选 “健康和诊断”
          • HTTP 日志记录:记录网站的访问日志。
          • 日志记录工具:管理日志文件。
          • 请求监控:监控请求处理状态。
          • 跟踪:用于调试。
    • 建议:为了保险起见,你可以直接勾选整个“万维网服务”下的所有子项,这样能确保功能最全。

  5. 确认并安装

    点击“确定”,Windows 会自动从你的系统盘或指定位置寻找安装文件,并完成 IIS 的安装,这个过程可能需要几分钟时间。


第二步:配置 IIS 网站

安装完成后,你需要创建一个“网站”来托管你的应用程序文件。

  1. 打开 IIS 管理器

    • 点击“开始”按钮 -> 在搜索框中输入 inetmgr -> 按 Enter 键,这会直接打开 IIS 管理器。
  2. 添加网站

    • 在 IIS 管理器左侧的“连接”面板中,右键点击 “网站” -> 选择 “添加网站...”
  3. 填写网站信息

    • 网站名称:为你的网站起一个易于识别的名字,MyWebApp
    • 物理路径:这是最重要的部分,点击右侧的浏览文件夹图标,选择你的网站文件所在的本地文件夹路径。D:\MyProject\Website
    • 类型:选择“网站”。
    • 协议:默认为 http
    • IP 地址:如果你的电脑有多个网卡,可以选择一个,默认的 未分配 表示绑定到所有可用的 IP 地址。
    • 端口:默认为 80,80 端口已被其他程序占用(如 IIS 默认网站、其他软件),你需要修改为一个未被占用的端口(8080)。
    • 主机名:留空即可,如果你要配置域名访问,可以在这里填写域名(如 www.mydomain.com),但前提是你的电脑能正确解析该域名到本机 IP。
  4. 确认创建

    点击“确定”,一个新的网站节点就会出现在 IIS 管理器的左侧列表中。


第三步:部署你的网站文件

将你的网站代码文件复制到你在第二步中设置的 “物理路径” 文件夹中。

  • 静态网站:将 .html, .css, .js, 图片等文件直接复制进去。
  • ASP.NET 网站:将整个项目文件夹(包含 .aspx, .cs, web.config 等文件)复制进去。
  • PHP 网站:将 .php 文件复制进去,并确保 IIS 已安装 FastCGI 处理器(PHP 通常需要额外配置)。

示例:如果你的物理路径是 D:\MyProject\Website,那么就把你的网站所有文件都放到 D:\MyProject\Website 这个文件夹里。


第四步:配置应用程序池

应用程序池是运行你的网站代码的“容器”,它决定了网站的运行环境(.NET 版本等)。

  1. 找到应用程序池

    • 在 IIS 管理器左侧,展开服务器节点,你会看到 “应用程序池”
  2. 检查或修改目标应用程序池

    • 在右侧的“操作”面板中,点击 “基本设置...”
    • .NET Framework 版本
      • 如果你的网站是 ASP.NET 2.0, 3.5, 4.0, 4.5, 4.6, 4.7,请选择对应的版本(.NET Framework v4.0.30319)。
      • 如果你的网站是 ASP.NET Core非常抱歉,IIS 无法直接托管 ASP.NET Core 应用程序,ASP.NET Core 有自己独立的 Kestrel 服务器,需要通过 ASP.NET Core Module 来反向代理到 IIS,在 Windows 7 上配置极其复杂且不推荐,建议升级操作系统。
    • 托管管道模式
      • 集成:推荐使用,性能更好,功能更全。
      • 经典:用于兼容旧版 ASP 应用程序或特定场景,如果遇到问题,可以尝试切换为“经典”模式。
    • 标识:通常使用 ApplicationPoolIdentity 即可,它会使用一个预定义的、权限受限的账户运行网站,更安全。
  3. 高级设置(可选)

    • 如果你的网站处理大文件或上传功能,可能需要修改“高级设置”中的 “请求限制” (如 maxAllowedContentLength)。

第五步:测试网站

一切准备就绪,可以测试了。

  1. 在 IIS 管理器中浏览

    • 在左侧的“连接”面板中,选中你刚刚创建的网站。
    • 在右侧的“操作”面板中,点击 “浏览 :80” (或你设置的端口)。
    • 这会使用系统默认浏览器打开你的网站,如果一切正常,你应该能看到你的网站首页。
  2. 通过 IP 地址和端口访问

    • 打开浏览器,在地址栏输入 http://localhost:端口号http://127.0.0.1:端口号
    • http://localhost:8080
    • 如果你在局域网中的其他电脑上访问,需要输入本机的局域网 IP 地址和端口,http://192.168.1.100:8080,确保 Windows 7 的防火墙已经允许了入站连接。

常见问题与解决方法

问题 1:HTTP 错误 403.14 - Forbidden

  • 原因:网站物理路径下的文件或文件夹权限不足,或者没有设置默认文档。
  • 解决方法
    1. 检查权限:右键点击你的网站物理路径文件夹 -> “属性” -> “安全”选项卡,确保 IIS_IUSRS 组和 SYSTEM 账户至少有“读取”和“读取并运行”的权限,如果不确定,可以点击“编辑” -> “添加”,输入 Everyone 并赋予“完全控制”权限进行测试(生产环境请谨慎)。
    2. 检查默认文档:在 IIS 管理器中,选中你的网站,双击“默认文档”功能,确保列表中有你的首页文件名(如 index.html, default.aspx),如果没有,点击右侧“操作”的“添加”,输入文件名并确定。

问题 2:HTTP 错误 500.19 - Internal Server Error

  • 原因:通常是 web.config 文件配置错误,或者 IIS 没有加载指定的模块。
  • 解决方法
    1. 检查 web.config:打开网站物理路径下的 web.config 文件,检查是否有 XML 语法错误(如标签未闭合、拼写错误等)。
    2. 检查模块:在 IIS 管理器中,双击“模块”功能,检查 web.config 中引用的模块是否都已安装,如果配置了 URL Rewrite,但未安装 URL Rewrite 模块,就会报此错。

问题 3:无法连接或连接被拒绝

  • 原因:IIS 服务未启动、端口被占用、或防火墙阻止。
  • 解决方法
    1. 检查端口占用:在命令提示符中运行 netstat -ano | findstr "端口号" (netstat -ano | findstr "8080"),如果看到有进程占用,可以更改 IIS 中的端口号或停止占用端口的程序。
    2. 检查防火墙:进入“控制面板” -> “Windows 防火墙” -> “允许程序或功能通过 Windows 防火墙”,确保“万维网服务 (HTTP)”和“万维网服务 (HTTPS)”是勾选状态,并且你的 IIS 端口是允许的。
    3. 检查 IIS 服务:按 Win + R,输入 services.msc,找到 “World Wide Web Publishing Service” 服务,确保其状态为“正在运行”。

问题 4:ASP.NET 网站不显示代码,而是显示源码

  • 原因:IIS 没有正确配置为处理 ASP.NET 请求。
  • 解决方法
    1. 确保在安装 IIS 时勾选了 ASP.NET 组件。
    2. 运行一个名为 “ASP.NET 注册工具 (aspnet_regiis.exe)” 的命令来注册 IIS 中的 ASP.NET,通常路径为 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ (根据你的 .NET 版本可能不同)。
    3. 在命令提示符中,先进入该目录,然后运行命令:
      aspnet_regiis.exe -i
    4. 这个命令会重新配置 IIS,使其能够识别和处理 .aspx 等文件。

在 Windows 7 上部署 IIS 网站的核心步骤可以概括为:

  1. 安装:通过“打开或关闭 Windows 功能”安装 IIS 及其必要组件。
  2. 创建:在 IIS 管理器中“添加网站”,指定物理路径和端口。
  3. 部署:将网站文件复制到指定的物理路径。
  4. 配置:设置正确的应用程序池(.NET 版本)。
  5. 测试:通过浏览器访问并排查常见错误(403, 500 等)。

由于 Windows 7 的安全风险,请务必谨慎对待其在互联网环境下的使用。