实验三 Windows Server 2022/2025 搭建 Web 服务器实验指导书

实验三 Windows Server 2022/2025 搭建 Web 服务器实验指导书

作者:非凡大爹|版本:v1|日期:2026-03-30|DocID:CN-LAB-2026-03-WEB-1-LG-V1
原创声明:本文为非凡大爹原创,首发于ZEEKLOG,转载或引用请注明出处。


一、实验基本信息

课程名称: Windows 网络管理 / 网络操作系统 / 服务器配置与管理
实验名称: Windows Server 2022/2025 搭建 Web 服务器
实验性质: 验证性 + 应用性实验
实验类别: 综合配置实验
建议学时: 2 学时
实验方式: 学生独立操作 + 结果验证


二、实验目的

1. 知识目标

理解 Web 服务器的基本作用,了解网站从“本地网页文件”到“网络可访问服务”的基本发布过程,认识 IIS 在 Windows Server 中承担的角色。

2. 能力目标

掌握在 Windows Server 2022/2025 中安装 IIS、创建网站、配置默认文档、设置站点绑定、开放访问端口以及客户端访问验证的方法。

3. 素养目标

培养学生面向真实场景进行服务部署、结果验证、故障排查和规范运维的意识,理解“能部署、能访问、能验证”比单纯完成菜单操作更重要。


三、实验场景

在这里插入图片描述

在实际学习和工作中,一个网页页面写好后,往往还不能直接给别人使用。
例如,课程设计展示页、毕业设计介绍页、实验室资料下载页、部门通知页或内网测试页,只有部署到 Web 服务器上,其他人才能通过浏览器访问。

本实验模拟这样一个真实任务:现有一组已经制作完成的网页文件,或者只是一个个人简介的网页文件,需要部署到一台 Windows Server 2022/2025 服务器上,使局域网内其他主机能够通过浏览器访问该网站首页。完成基础实验后,还可以进一步通过 DNS 解析实现域名访问。这个任务结构:安装 Web 服务器—创建 Web 站点—配置客户端访问—扩展 DNS 访问。


四、实验网络拓扑与地址规划

本实验采用单交换机、单网段局域网结构,Web 服务器与客户端位于同一网段,通过交换机或虚拟交换机互联。为便于后续扩展域名访问实验,可将两个”角色服务器“(Web和DNS)部署到同一台“物理服务器”上。即,DNS 角色服务器(以下称”DNS 服务器“)地址统一设置为 Web 角色服务器(以下称” Web服务器“)地址,由 Web 服务器所在的物理服务器兼任 DNS 服务器角色。

在这里插入图片描述

1. 网络结构说明

  • 1 台 Windows Server 2022/2025 服务器,作为 Web 服务器。
  • 1 台 Windows 10/11 客户端,作为访问测试主机。
  • 服务器与客户端通过交换机或虚拟交换机连接。
  • 所有设备位于同一网段:10.1.1.0/24

2. IP 地址规划表

设备主机名角色IP 地址子网掩码DNS 服务器
Windows Server 2022/2025WebServerIIS Web 服务器 / 可选 DNS 服务器10.1.1.100255.255.255.010.1.1.100
Windows 10/11 客户机PCA浏览器访问测试主机10.1.1.10255.255.255.010.1.1.100

3. 网段信息

  • 网络地址:10.1.1.0
  • 网络前缀:/24
  • 子网掩码:255.255.255.0
  • 可用主机地址范围:10.1.1.1 ~ 10.1.1.254
  • 广播地址:10.1.1.255

4. 说明

若实验环境是封闭的同网段局域网,默认网关可暂不配置;若实验平台或教师统一要求配置网关,则按实际网络环境填写。


五、实验预备知识

在进行本实验前,学生应具备以下基础:

  1. 了解 IP 地址、子网掩码、端口号和 URL 的基本含义。
  2. 理解服务器与客户端的基本概念。
  3. 知道 HTTP 是 Web 服务的基础协议。
  4. 会进行 Windows 系统基本文件管理和网卡参数配置。

六、实验原理

Web 服务器是指在网络中接收并响应客户端浏览器请求、向用户提供网页及相关资源的服务器系统。用户在浏览器中输入网址后,浏览器会通过 HTTP 或 HTTPS 协议向 Web 服务器发送请求,Web 服务器根据请求找到对应的网页文件、图片、脚本或其他资源,并将其返回给客户端显示。因此,Web 服务器是实现网站发布和访问的基础平台。

在这里插入图片描述

IIS(Internet Information Services,互联网信息服务) 是微软在 Windows Server 操作系统中提供的 Web 服务组件。通过 IIS,可以将服务器中的网站目录发布为可供浏览器访问的站点,并支持网站绑定、默认文档、身份验证、日志记录等功能。由于 IIS 与 Windows Server 集成度高、配置界面直观,特别适合在教学实验和基于 Windows 平台的 Web 应用部署中使用。

在本实验中,学生将通过安装 IIS,把 Windows Server 2022/2025 配置为 Web 服务器,并将本地网页目录发布为可通过局域网访问的网站。实验过程中需要完成站点创建、默认文档设置、端口开放和客户端访问验证等操作,从而理解网页从“本地文件”到“网络服务”的基本实现过程。

一个网站能否正常访问,通常取决于以下几个关键因素:

  1. IIS 是否已成功安装;
  2. 网站是否已正确创建并绑定到相应端口;
  3. 默认文档是否配置正确;
  4. 网站目录权限是否满足读取要求;
  5. 防火墙是否允许客户端访问站点端口;
  6. 客户端与服务器之间网络是否畅通。

实验围绕这几条主线展开:先安装服务,再发布站点,再由客户端测试访问(前提:保证实验局域网网络设备间互联互通),最后拓展到 DNS、日志和多站点。


七、实验内容

必做任务

  1. 配置服务器和客户端网络参数。
  2. 安装 IIS,将服务器配置为 Web 服务器。
  3. 创建并发布一个静态网站。
  4. 配置默认文档并完成站点访问测试。
  5. 搭建局域网并实现网络设备间互连互通(ping),使客户端通过 IP 地址成功访问网站。

扩展任务

  1. 使用非 80 端口访问站点。
  2. 通过域名访问站点。
  3. 配置多个 Web 站点共存。
  4. 查看和理解 IIS 日志。

八、实验环境与素材

1. 服务器环境

  • 操作系统:Windows Server 2022 或 Windows Server 2025
  • 主机名:WebServer
  • IP 地址:10.1.1.100
  • 子网掩码:255.255.255.0
  • DNS:10.1.1.100

2. 客户端环境

  • 操作系统:Windows 10/11
  • 主机名:PCA
  • IP 地址:10.1.1.10
  • 子网掩码:255.255.255.0
  • DNS:10.1.1.100

3. 网站素材

  • 网站目录示例:C:\WebLab\Site1
  • 首页文件示例:index.html

九、实验步骤

任务一:配置服务器和客户端网络参数

步骤 1:配置 Web 服务器网络参数

在 Windows Server 2022/2025 中打开网卡属性,为服务器配置静态 IP:

  • IP 地址:10.1.1.100
  • 子网掩码:255.255.255.0
  • 首选 DNS 服务器:10.1.1.100

说明:本实验中 Web 服务器既承担 Web 服务角色,也可作为后续扩展实验中的 DNS 服务器,因此 DNS 地址设置为本机地址。

步骤 2:配置客户端网络参数

在 Windows 10/11 客户机中打开网卡属性,配置静态 IP:

  • IP 地址:10.1.1.10
  • 子网掩码:255.255.255.0
  • 首选 DNS 服务器:10.1.1.100

步骤 3:测试网络连通性

在客户端命令提示符中输入:

ping 10.1.1.100 

若能够收到来自 10.1.1.100 的回复,则说明客户端与服务器网络互通,可以继续后续实验。

本任务结果

客户端与服务器应位于同一网段,并能成功互相通信。


任务二:准备网站目录和首页文件

步骤 1:创建网站目录

在服务器 WebServer 上新建目录:

C:\WebLab\Site1 

步骤 2:创建首页文件

在该目录中创建 index.html 文件,内容可简单设置为欢迎页面,例如:

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><title>实验站点首页</title></head><body><h1>欢迎访问实验站点</h1><p>如果你看到这段中文且没有乱码,说明页面编码正确。</p></body></html>

本任务结果

服务器磁盘中应存在一个网站目录,并包含首页文件。


任务三:安装 IIS

步骤 1:打开服务器管理器

进入 Server Manager

步骤 2:进入角色安装向导

依次选择:

Manage → Add Roles and Features

步骤 3:选择安装类型

选择 Role-based or feature-based installation

步骤 4:选择目标服务器

选择当前服务器。

步骤 5:勾选服务器角色

Server Roles 中勾选 Web Server (IIS)

步骤 6:安装角色

接受附加功能,保持默认设置,继续完成安装。

步骤 7:验证安装结果

安装完成后,在服务器本机浏览器中访问:

http://localhost 

若出现 IIS 默认欢迎页,说明 IIS 已安装成功。

本任务结果

服务器已具备提供 Web 服务的基本能力。


任务四:创建网站并完成绑定

步骤 1:打开 IIS 管理器

进入 Tools → Internet Information Services (IIS) Manager

步骤 2:添加网站

在左侧 Sites 上右键,选择 Add Website

步骤 3:填写网站信息

建议填写如下:

  • Site name:Site1
  • Physical path:C:\WebLab\Site1
  • Type:http
  • IP address:10.1.1.100All Unassigned
  • Port:80
  • Host name: 留空

步骤 4:处理默认网站冲突

若默认站点 Default Web Site 已占用相同绑定(例如也是 80 端口且无主机名),则:

  • 可以停止默认站点;或
  • 将新网站改用其他端口,如 8080

说明

  1. 若使用 10.1.1.100 作为绑定 IP,则表示该站点明确绑定到本实验服务器地址。
  2. 若选择 All Unassigned,在本实验单服务器单站点场景下也可以正常工作。
  3. 只有在绑定冲突时,才需要处理默认站点。

本任务结果

IIS 中应创建一个指向 C:\WebLab\Site1 的新站点。


任务五:配置默认文档

步骤 1:选中刚创建的网站

在 IIS 管理器中点击 Site1

步骤 2:打开默认文档

双击 Default Document

步骤 3:检查首页文件

确认 index.html 已在列表中。若不在,则点击 Add 手动添加。

注意事项

  • 默认文档名称必须与实际文件名一致。
  • 若使用自定义首页文件名,如 oa.html,应确保文件真实存在并添加到默认文档列表中。
  • 如有多个默认文档,应确保希望优先访问的首页文件排在靠前位置。

本任务结果

访问站点根路径时,服务器能够自动返回首页文件。


任务六:检查匿名访问与目录权限

步骤 1:检查匿名访问

在 IIS 管理器中打开站点 Site1Authentication,确认 Anonymous Authentication 已启用。

步骤 2:检查网站目录权限

检查目录 C:\WebLab\Site1 的权限,确保 IIS 对该目录具备基本读取权限。

注意事项

教学实验中不建议简单设置为“Everyone 完全控制”,应以“满足读取访问”为原则。

本任务结果

网站目录能够被 IIS 正常读取,匿名用户可访问静态网页。


任务七:开放防火墙端口

步骤 1:打开高级防火墙

在服务器 WebServer 上进入 Windows Firewall with Advanced Security

步骤 2:创建入站规则

Inbound Rules 中新建规则,允许网站使用的 TCP 端口通过。

建议配置

  • 协议: TCP
  • 端口: 80

若网站后续改用 8080 端口,则还需放行 8080。

本任务结果

客户端访问请求不会被服务器防火墙阻止。


任务八:本机访问测试

在服务器本机浏览器中访问:

http://localhost 

http://10.1.1.100 

若能够显示自己创建的网站首页,则说明网站在服务器本机已发布成功。

本任务结果

本机能够正常打开站点首页。


任务九:客户端访问测试

在客户端 PCA 浏览器中输入:

http://10.1.1.100 

若网站绑定端口修改为 8080,则应访问:

http://10.1.1.100:8080 

若页面能够正常打开,则说明 Web 服务器已能够向局域网客户端提供服务,本实验核心目标达成。

本任务结果

客户端能够通过 IP 地址成功访问服务器网站。


十、扩展实验

扩展任务一:使用非 80 端口访问网站

将站点绑定端口修改为 8080,然后在客户端使用以下方式访问:

http://10.1.1.100:8080 

说明:非 80 端口访问时,URL 中必须显式写出端口号。


扩展任务二:通过域名访问网站

在完成通过 IP 地址访问网站之后,可进一步完成域名访问实验。由于本实验中 DNS 服务器地址已统一设置为 10.1.1.100,因此可以在服务器 WebServer 上安装 DNS 角色,并添加网站域名解析记录。

建议域名

www.weblab.com 

建议 DNS 解析记录

www.weblab.com → 10.1.1.100 

客户端访问方式

http://www.weblab.com 

前提条件

  1. 服务器 10.1.1.100 已安装 DNS 服务
  2. 已在 DNS 中添加 www.weblab.com 的 A 记录
  3. 客户端 DNS 地址已设置为 10.1.1.100

扩展任务三:创建第二个网站

在同一台服务器上新建第二个网站,可采用以下任一方式实现多站点共存:

  1. 使用不同端口
  2. 使用相同端口但不同主机名

此部分可作为 IIS 多站点部署的初步训练。


扩展任务四:查看 IIS 日志

实验完成后,可进一步查看 IIS 日志,了解 Web 服务访问记录的保存方式和作用,为后续故障排查和安全审计打下基础。


十一、实验结果验收标准

完成实验后,应满足以下要求:

  1. 服务器网络参数正确:
    • IP:10.1.1.100
    • 子网掩码:255.255.255.0
    • DNS:10.1.1.100
  2. 客户端网络参数正确:
    • IP:10.1.1.10
    • 子网掩码:255.255.255.0
    • DNS:10.1.1.100
  3. 客户端能够成功 ping 10.1.1.100
  4. IIS 安装成功,本机访问 http://localhost 正常
  5. 网站 Site1 创建成功,并正确指向网站目录
  6. 客户端能够通过以下地址访问网站:
http://10.1.1.100 
  1. 若完成扩展任务,客户端还能通过以下地址访问:
http://www.weblab.com 

满足以上要求,即可判定实验达标。


十二、常见问题与排查

1. 客户端无法 ping 通服务器

检查以下内容:

  • 服务器 IP 是否确为 10.1.1.100
  • 客户端 IP 是否确为 10.1.1.10
  • 两端子网掩码是否均为 255.255.255.0
  • 交换机连接或虚拟机网络模式是否正确

2. 本机能访问,客户端不能访问

检查以下内容:

  • 防火墙是否放行 80 端口
  • IIS 站点是否已启动
  • 站点绑定是否正确绑定到 10.1.1.100All Unassigned
  • 客户端访问地址是否输入正确

3. 打开的不是自己的网站首页

检查以下内容:

  • 默认文档是否配置正确
  • 访问的是否仍是 Default Web Site
  • 首页文件名是否与实际文件一致

4. 浏览器访问主页“显示乱码”

虽然你设置了 并且文件保存为 UTF-8,但“直接双击打开”和“通过客户端打开”的本质区别在于:HTML 文件是如何被读取和解析的。

  1. 直接双击:浏览器作为“文件打开”处理,通常会根据文件头(BOM)或 meta 标签自动切换到 UTF-8,所以显示正常。
  2. 通过客户端打开:客户端(如微信内置浏览器、某些 App WebView、Electron 应用、或 IDE 内置预览)可能没有遵循 meta 标签,而是使用了系统默认编码(如 GBK、GB2312)去解析这个文件,导致乱码。
故障排除方法:

所有网页文件统一采用 ”UTF-8 “编码 保存,或重新保存为 “UTF-8 with BOM”,并在 HTML 的 中添加 ,以避免网页中文内容显示乱码。

在这里插入图片描述

5. 域名无法访问**

检查以下内容:

  • 服务器是否已安装 DNS
  • www.weblab.com 是否正确解析到 10.1.1.100
  • 客户端 DNS 是否设置为 10.1.1.100

十三、实验报告要求

实验报告应至少包含以下内容:

  1. 实验名称
  2. 实验目的
  3. 实验环境与 IP 地址规划
  4. 实验步骤记录
  5. 关键配置截图
  6. 本机访问结果截图
  7. 客户端访问结果截图
  8. 出现的问题与解决方法
  9. 实验总结

十四、实验评分参考

1. 基础配置完成情况(40 分)

  • 网络参数配置正确
  • IIS 安装正确
  • 网站创建正确
  • 默认文档配置正确

2. 访问验证结果(30 分)

  • 本机访问成功
  • 客户端访问成功
  • 端口配置正确

3. 规范性与排错能力(20 分)

  • 操作过程规范
  • 能说明问题原因
  • 能进行基本排查

4. 实验报告质量(10 分)

  • 内容完整
  • 逻辑清晰
  • 结果真实

十五、实验总结参考语

本实验采用 10.1.1.0/24 单网段局域网方案,其中 Web 服务器地址为 10.1.1.100,客户端地址为 10.1.1.10,子网掩码统一为 255.255.255.0,DNS 服务器地址统一为 10.1.1.100。通过在 Windows Server 2022/2025 中安装 IIS、创建站点、配置默认文档、开放访问端口并进行客户端访问验证,学生掌握了静态网站发布的基本流程,理解了网页从本地文件变成网络中可访问服务的关键环节,并为后续学习域名解析、多站点部署和 Web 服务运维奠定了基础。

Read more

安利一款超实用的前端可视化打印设计器:Vue Print Designer

安利一款超实用的前端可视化打印设计器:Vue Print Designer

做前端开发的朋友应该都懂,业务开发中遇到打印需求真的头大 —— 手写分页逻辑繁琐、不同框架适配麻烦、票据 / 快递单这类定制化打印场景不好实现,找个趁手的打印插件更是难上加难。最近发现了一款开源的可视化打印设计器Vue Print Designer,完美解决了这些痛点,不管是快速开发还是企业级定制化需求都能满足,今天就跟大家详细聊聊这款工具。 一、Vue Print Designer 是什么? Vue Print Designer 是一款面向业务表单、标签、票据、快递单等打印场景的可视化设计器,核心主打模板化、变量化设计,还提供了静默打印、云打印能力,同时支持 PDF / 图片 / Blob 等多种导出方式,完全能覆盖日常开发中的各类打印需求。 它不是简单的打印插件,而是一套完整的打印解决方案,从可视化设计模板,到参数配置、多端打印,再到定制化扩展,一站式搞定,而且项目还在持续更新,最新版本已经支持英寸、厘米作为单位,对国际化和精细化设计更友好了。 项目地址:https://gitee.com/

【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

目录 【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键 一、求其外,善其内 1、坚持出发点正确的博文写作 2、博文更新对我心态的淬炼 3、社区交流对我视野的启发 4、向外拓展,反哺内修 二、陷入前端则前端死,跳出前端则前端活 1、从不务正业到泛前端 2、从泛前端到大前端,从有形到无形 三、秋招多少事 四、结语         作者:watermelo37         ZEEKLOG优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。         一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。

通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)

通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)

目录 1、需求描述 2、选择URI Scheme实现 3、何为URI Scheme? 4、将自定义的URL Scheme信息写入注册表的C++源码实现 5、如何实现最开始的3种需求 6、后续需要考虑的细节问题        之前陆续收到一些从Web页面上启动我们C++客户端软件的需求,希望我们能提供一些技术上的支持与协助,支持从Web网页上将我们的C++客户端软件启动起来。于是我大概地研究了相关的实现方法,下面把研究的过程与结果在此做一个分享,希望能给大家提供一个借鉴或参考。 C++软件异常排查从入门到精通系列教程(核心精品专栏,订阅量已达10000多个,欢迎订阅,持续更新...)https://blog.ZEEKLOG.net/chenlycly/article/details/125529931C/C++实战专栏(重点专栏,专栏文章已更新500多篇,订阅量已达8000多个,欢迎订阅,持续更新中...)https://blog.ZEEKLOG.net/

【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

🔥 本文专栏:Linux网络Linux实践系列 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录:别害怕选错,人生最遗憾的从不是‘选错了’,而是‘我本可以’。每一次推倒重来的勇气,都是在给灵魂贴上更坚韧的勋章。 ★★★ 本文前置知识: 序列化与反序列化 引入 在之前的博客中,我详细介绍了序列化 与反序列化 的概念。对于使用 TCP 协议进行通信的双方,由于 TCP 是面向字节流的,在发送数据之前,我们通常需要定义一种结构化的数据来描述传输内容,并以此作为数据的容器。在 C++ 中,这种结构化数据通常表现为对象或结构体。然而,我们不能直接将结构体内存中对应的字节原样发送到另一端,因为直接传递内存字节会引发字节序 和结构体内存对齐 的问题。不同平台、不同编译器所遵循的内存对齐规则可能不同,这可能导致接收方在解析结构体字段时出现错误。 因此,我们需要借助序列化 。序列化 是指将结构化的数据按照预定的规则转换为连续的字节流。其主要目的是屏蔽平台差异,使得位于不同平台的进程能够以统一的方式解析该字节流。序列化通常分为两种形式:文本序列化 与二进制序列化 。 文