在 Windows Server 2022 上搭建 Web 服务器,最常用且官方推荐的方式是使用 IIS (Internet Information Services)。以下是详细的步骤指南:
✅ 前提条件
- 已安装 Windows Server 2022(建议标准版或数据中心版)。
- 具有管理员权限。
- 网络连接正常(如需公网访问,需配置防火墙和路由器端口转发)。
🛠️ 第一步:安装 IIS 角色
-
打开服务器管理器
- 点击“开始”菜单 → 搜索并打开 “服务器管理器” (Server Manager)。
-
添加角色和功能
- 在左侧导航栏点击 “管理” → “添加角色和功能”。
- 点击 “下一步”,选择 “基于角色或基于功能的安装” → 下一步。
- 选择目标服务器(通常是本地服务器)→ 下一步。
- 勾选 “Web 服务器 (IIS)” → 系统会提示添加所需功能,点击 “添加功能” → 下一步。
- 保持默认选项(如应用程序开发、性能、管理工具等),除非你有特殊需求。
- 点击 “安装”,等待完成。
💡 也可以通过 PowerShell 快速安装:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
🌐 第二步:验证 IIS 是否运行成功
- 打开浏览器,访问:
http://localhost - 如果看到 “IIS 8.5 Welcome” 页面(实际版本为 10.0+),说明 IIS 已成功安装并运行。
📁 第三步:部署你的网站内容
方法一:使用默认站点
- 默认网站根目录位于:
C:inetpubwwwroot - 将你的 HTML/CSS/JS 文件放入此文件夹。
- 刷新
http://localhost即可看到你的网页。
方法二:创建新网站(推荐)
-
打开 IIS 管理器:
- 服务器管理器 → “工具” → “IIS 管理器”
- 或运行
inetmgr
-
在左侧连接面板中,右键点击 “网站” → “添加网站”
-
填写信息:
- 站点名称:例如
MyWebsite - 物理路径:例如
D:WebsitesMySite(新建该文件夹并放入你的网站文件) - 绑定:
- 类型:
http - IP 地址:
全部未分配或指定 IP - 端口:
80(HTTP)或443(HTTPS) - 主机名:可选(用于多域名)
- 类型:
- 站点名称:例如
-
点击 “确定”。
-
测试访问:
http://<服务器IP>:80
🔒 第四步:配置防火墙允许 HTTP/HTTPS 流量
- 打开 Windows Defender 防火墙 → “高级设置”
- 点击 “入站规则” → “新建规则”
- 选择 “端口” → 下一步
- 选择 “TCP”,特定本地端口输入:
80,443→ 下一步 - 选择 “允许连接” → 下一步
- 勾选所有配置文件(域、专用、公用)→ 下一步
- 命名规则(如
Allow HTTP and HTTPS)→ 完成
💡 也可通过 PowerShell 快速开放端口:
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
🌍 第五步:从外部网络访问(可选)
- 局域网内:直接访问
http://<服务器局域网IP> - 公网访问:
- 确保路由器已将端口
80和443转发到服务器内网 IP。 - 如果你有域名,配置 DNS 解析到公网 IP。
- (可选)申请 SSL 证书启用 HTTPS,提升安全性。
- 确保路由器已将端口
🧩 第六步:安装额外组件(如需要)
如果你还需要支持 PHP、ASP.NET、Node.js 等,可进一步安装:
| 技术 | 安装方式 |
|---|---|
| PHP | 下载 PHP for IIS 安装包,或使用 Web Platform Installer |
| ASP.NET | 在 IIS 角色功能中勾选 “ASP.NET 4.8” |
| URL Rewrite | 在 IIS 管理器 → 模块 → 获取模块 → 安装 URL Rewrite |
| ARR | Application Request Routing(用于反向X_X) |
✅ 最佳实践建议
- 定期更新 Windows 和 IIS 补丁。
- 禁用不必要的模块和服务,减少攻击面。
- 使用 HTTPS:可通过 Let’s Encrypt 免费证书 + Win-acme 自动续期。
- 备份网站文件和 IIS 配置:
Import-IISConfiguration -SourcePath backup.xml - 监控日志:IIS 日志默认位于
C:inetpublogsLogFiles
❓ 常见问题排查
| 问题 | 解决方案 |
|---|---|
| 无法访问 localhost | 检查 IIS 服务是否运行(services.msc → W3SVC) |
| 403 Forbidden | 检查文件夹权限,确保 IUSR 和 IIS_IUSRS 有读取权限 |
| 404 Not Found | 检查网站物理路径是否正确,文件是否存在 |
| 端口被占用 | 使用 netstat -ano | findstr :80 查找占用进程 |
如需搭建更复杂的架构(如负载均衡、数据库后端等),可结合 SQL Server、MySQL、Redis 等组件一起部署。
如有具体需求(如 ASP.NET Core、Node.js、PHP 等),可告诉我,我会提供针对性配置步骤。
云服务器