如何将一些大型站点从 IIS 7 迁移到 IIS 8.5?

how to migrate a number of large sites from IIS 7 to IIS 8.5?

我有许多大型网站,其中有数千张图像,每个图像消耗几千兆字节。我们有一台新服务器,我必须将所有这些站点移到那里(旧服务器将退役)。最好的方法是什么?我应该注意什么?

旧服务器是 Windows 2008 R2 IIS 7.5 新服务器是 Windows 2012 IIS 8.5

我探索了几个选项:

  1. IIS 共享配置 - 由于某些原因对我不起作用。我收到 DLL 冲突错误,提示未找到某些 .Net 7.5 模块。我想这意味着我只能在同一个 IIS 版本中 export/import 配置?不确定。但最终我不得不在我的新服务器上完全重新安装 IIS——它在导入后就无法工作了。所以我不会推荐这个,除非你知道你在做什么。

  2. WebDeploy - 我认为它对我有用 - 但由于文件数量和网站大小巨大,它无法压缩网站 -或者可能是我不够耐心。我想它适用于较小的网站。

  3. XML export/import - 最后,我找到了 this article:它允许我导出网站和应用程序池到 XML,然后将它们导入新服务器。效果很好:

Export

%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml

%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml

Import

%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml

%windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml

之后我只需要 FTP 我的文件到新服务器 - 我就可以开始了!

需要记住的几件事:

  1. 目录结构 - 保持与旧服务器相同 - 无需调整 XML 文件然后
  2. HTTPS 证书 - 不要忘记导出它们
  3. 安全 - 如果您为网站的文件夹分配了任何特殊权限 - 确保在新服务器上重新创建它们
  4. 其他 IIS 模块 - 如 URL 重写 - 逐项列出并安装它们
  5. 绑定 - 如果您有通配符,无需担心,但如果您的网站绑定到 IP 地址 - 使用 sites.XML 文件中的 search/replace 更新它。