如何将多个大型站点从 IIS 7 迁移到 IIS 8.5?

avs*_*099 1 migration iis

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

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

avs*_*099 5

我探索了几个选项:

  1. IIS 共享配置- 由于某种原因对我不起作用。我收到 DLL 冲突错误,说未找到某些 .Net 7.5 模块。我想这意味着我只能在相同的 IIS 版本中导出/导入配置?没有把握。但在一天结束时,我不得不在我的新服务器上完全重新安装 IIS - 它在导入后无法正常工作。所以除非你知道你在做什么,否则我不会推荐这个。

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

  3. XML 导出/导入- 最后,我找到了这篇文章:它允许我将网站和应用程序池导出为 XML,然后将它们导入到新服务器上。效果很好:

出口

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

%windir%\system32\inetsrv\appcmd 列出站点 /config /xml > c:\sites.xml

进口

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

%windir%\system32\inetsrv\appcmd 添加站点 /in < c:\sites.xml

之后,我只需要将我的文件通过 FTP 传输到新服务器 - 我很高兴!

要记住的几件事:

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