在 Windows Server 2022 上部署网站,最常用且官方推荐的方式是使用 IIS (Internet Information Services)。以下是完整的部署流程,涵盖从环境搭建到发布上线的关键步骤:
一、安装 IIS 角色
- 打开服务器管理器
- 点击「开始」→「服务器管理器」。
- 添加角色和功能
- 选择「管理」→「添加角色和功能」。
- 按向导操作
- 选择「基于角色或基于功能的安装」→ 下一步 → 选择当前服务器 → 下一步。
- 选择 Web 服务器 (IIS)
- 勾选 Web 服务器 (IIS) → 展开后确保以下组件被选中(按需):
- ASP.NET(若使用 .NET Framework 应用)
- WCF HTTP 激活(如需 WCF 服务)
- CGI(若需运行 CGI 脚本)
- 静态内容(必需)
- HTTP 重定向(可选)
- 点击「下一步」→「安装」。
- 勾选 Web 服务器 (IIS) → 展开后确保以下组件被选中(按需):
💡 提示:若需部署 .NET Core/.NET 5+ 网站,还需单独安装 .NET Runtime 和
aspNetCoreModule。
二、配置防火墙规则
允许外部访问网站端口(默认 HTTP:80, HTTPS:443):
# PowerShell(管理员身份运行)
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow
✅ 建议通过服务器管理器图形界面操作:
服务器管理器 → 本地服务器 → Windows 防火墙 → 高级设置 → 入站规则 → 新建规则
三、创建网站并绑定域名/IP
- 打开 IIS 管理器(
inetmgr或搜索)。 - 右键「网站」→「添加网站」:
- 网站名称:如
MyApp - 物理路径:指向你的项目文件夹(如
C:inetpubwwwrootMyApp) - 绑定:
- 类型:
http或https - IP 地址:
*(所有未分配)或指定 IP - 端口:
80(HTTP)或443(HTTPS) - 主机名:填写域名(如
www.example.com),需在 DNS 中解析到此服务器公网 IP
- 类型:
- 网站名称:如
四、部署应用程序代码
场景 A:静态网站(HTML/CSS/JS)
- 将文件复制到指定物理路径即可。
- 测试访问:
http://<服务器IP>或http://<域名>
场景 B:ASP.NET Web Forms / MVC (.NET Framework)
- 确保已安装对应版本的 .NET Framework。
- 上传代码至物理路径。
- 在 IIS 中检查应用程序池:
- 右键「应用程序池」→「高级设置」→ 确认
.NET CLR 版本匹配(如 v4.0)。 - 若为旧版项目,可设为
No Managed Code+Classic Pipeline。
- 右键「应用程序池」→「高级设置」→ 确认
场景 C:.NET Core / .NET 5+ 网站
- 安装 .NET Runtime(Server 版通常已预装,但需确认版本)。
- 安装 ASP.NET Core Module (ANCM):
# 下载最新安装包:https://download.visualstudio.microsoft.com/download/pr/<latest-version>/... # 或使用 winget(Windows 11/Server 2022 支持): winget install Microsoft.DotNet.AspNetCore.Runtime winget install Microsoft.AspnetCore.Module.IIS - 部署时生成
publish输出:dotnet publish -c Release -o <output-path> - 在 IIS 中创建网站,物理路径指向
publish目录。 - 确保应用程序池使用 无托管代码(.NET Core 由 ANCM 处理)。
五、配置 SSL(HTTPS)
- 获取证书:
- 使用 Let’s Encrypt(免费):Certbot for Windows
- 或购买商业证书(如 DigiCert、GlobalSign)。
- 导入证书:
- IIS 管理器 → 服务器节点 → 「服务器证书」→「导入」。
- 绑定 HTTPS:
- 网站 →「绑定」→「添加」→ 类型
https→ 选择证书 → 确定。
- 网站 →「绑定」→「添加」→ 类型
六、验证与监控
- 浏览器访问
https://your-domain.com - 查看日志:
- IIS 日志:
C:inetpublogsLogFiles - 事件查看器:
eventvwr.msc→ Windows 日志 → 应用程序/系统
- IIS 日志:
- 性能监控:任务管理器 / Performance Monitor(
perfmon)
附加建议
- 🔐 安全加固:
- 禁用不必要的模块(如 FTP、SMTP)
- 启用请求过滤(防 SQL 注入/XSS)
- 定期更新 IIS 和 .NET 补丁
- 🔄 自动备份:
- 使用 Task Scheduler 定期备份
C:inetpubwwwroot和注册表配置。
- 使用 Task Scheduler 定期备份
- ☁️ 云集成:
- 若部署在 Azure/AWS,可结合 Application Gateway 或 Load Balancer 实现高可用。
需要我针对某类具体技术栈(如 Node.js + Nginx on Windows、PHP、Docker 容器化部署)提供详细方案吗?
轻量云Cloud