奋斗
努力

如何在windows server 2022上部署网站?

云计算

在 Windows Server 2022 上部署网站,最常用且推荐的方式是使用 IIS (Internet Information Services)。以下是完整的部署流程,涵盖从环境搭建到上线的各个环节:


一、安装 IIS 角色

  1. 打开 服务器管理器(Server Manager)
  2. 点击 “添加角色和功能”
  3. 选择 “基于角色或基于功能的安装” → 下一步
  4. 选择本地服务器 → 下一步
  5. 在“服务器角色”中勾选:
    • Web 服务器 (IIS)
      • 展开后建议勾选以下子功能(根据需求):
      • ASP.NET 4.8(若使用 .NET Framework 应用)
      • CGI(如需运行脚本)
      • 静态内容
      • HTTP 重定向
      • 身份验证(如 Windows 身份验证、基本身份验证等)
  6. 完成向导并重启(可选,但建议安装完成后重启)

💡 也可通过 PowerShell 快速安装:

Install-WindowsFeature Web-Server, Web-Asp-Net45, Web-CGI -IncludeManagementTools

二、准备网站文件

  1. 将网站代码上传至服务器(例如 C:inetpubwwwrootmywebsite
    • 支持语言:ASP.NET、PHP、Node.js(需额外配置)、Python(需 WSGI/IIS Handler)等
  2. 确保目录权限正确:
    • 右键文件夹 → 属性 → 安全
    • 添加用户组 IIS_IUSRSIUSR,赋予 读取/执行 权限
    • 若为动态站点(如 PHP),还需给 IIS AppPoolYourAppPoolName 写入权限

三、创建网站与绑定

  1. 打开 IIS 管理器(开始菜单搜索 "IIS")
  2. 展开左侧树 → 右键 网站添加网站
    • 网站名称:MyWebsite
    • 物理路径:C:inetpubwwwrootmywebsite
    • 绑定设置:
      • 类型:httphttps
      • IP 地址:所有未分配 或指定 IP
      • 端口:默认 80(HTTP)或 443(HTTPS)
      • 主机名:如 www.example.com(需 DNS 解析)
  3. 点击 确定

🔐 若启用 HTTPS:

  • 需先导入 SSL 证书(.pfx.cer + .key
  • 在 IIS 中选中网站 → 右侧 绑定 → 添加 https 绑定 → 选择证书

四、配置应用程序池(关键!)

  1. 在 IIS 管理器中,展开 应用程序池
  2. 找到对应网站的池(通常自动创建,如 DefaultAppPool
  3. 右键 → 高级设置
    • .NET CLR 版本:选择 无托管代码(纯静态/Node/PHP)或对应版本(如 v4.0)
    • 管道模式:经典 vs 集成(现代应用推荐“集成”)
    • 标识:建议使用 ApplicationPoolIdentity(更安全),并确保该身份有目录访问权限

⚠️ 若使用 PHP:

  • 需安装 Microsoft IIS PHP Handler
  • 配置 php.iniweb.config 以启用 FastCGI

五、防火墙与安全加固

1. 开放端口

  • 打开 Windows Defender 防火墙 → 高级设置
  • 添加入站规则:
    • TCP 80(HTTP)
    • TCP 443(HTTPS)
    • (可选)TCP 8080 等自定义端口

2. 基础安全建议

  • 禁用不必要的 IIS 功能模块
  • 定期更新 Windows 和 IIS 补丁
  • 使用强密码策略保护管理员账户
  • 限制匿名访问(生产环境建议启用身份验证)
  • 配置日志记录(IIS 日志位于 %SystemDrive%inetpublogsLogFiles

六、测试与验证

  1. 在浏览器访问:http://<服务器IP>http://<域名>
  2. 检查:
    • 页面是否正常加载?
    • 动态功能(如登录、数据库连接)是否工作?
    • SSL 证书是否有效(浏览器显示锁图标)?

🧪 可用工具辅助:

  • curl http://localhost(命令行测试)
  • SSL Labs Test(检测 HTTPS 配置)

七、常见场景补充

应用场景 额外步骤
Node.js 应用 安装 Node.js → 用 iisnode 模块 → 配置 web.config 反向X_X
PHP 应用 下载 PHP for Windows → 安装 IIS PHP Handler → 配置 php.ini
Docker 容器化 安装 Docker → 构建镜像 → 发布到 IIS(需配合 docker-compose 或手动映射)
多站点托管 每个站点独立应用程序池 + 不同绑定(IP:Port 或 Host Header)

需要我针对某种具体技术栈(如 .NET Core、Laravel、WordPress on IIS)提供详细配置示例吗?

未经允许不得转载:云服务器 » 如何在windows server 2022上部署网站?