我有2台运行Windows 2008 Server Web Edition的服务器,并且我在这两台服务器上运行网站.我希望能够将IIS设置镜像到另一个框中,以便在“服务器1”崩溃的情况下,我可以登录到“服务器2”并快速获取在“服务器1”上运行的所有网站启动并运行.这不是一个简单的镜像,因为我已经在“服务器2”上有需要保持运行的网站,所以基本上我想从“服务器1”添加网站.
我相信我会对此有所评论,所以是的,我们的服务器可以处理增加的负载.我也想远离讨论DNS,所以请不要这样做.我还意识到我需要在’服务器2’网络适配器上添加特定的IP,并且只要我可以减少其他手动任务以获得更好的正常运行时间并减少手动错误.
目前,我正在将每个盒子上的数据库和代码备份到另一个盒子,但正如您可以想象的那样,恢复是一个容易出错的缓慢,手动且费力的过程.
我正在寻找能够轻松恢复每个站点的所有设置的能力.例如:SSL证书,IP,站点代码的物理路径,绑定,处理程序映射等.我希望还能恢复所有应用程序池,就像它们在具有正确框架版本的其他服务器上一样.管道模式.
据我所知,applicationHost.config包含了大部分内容.但是,如果我将网站添加到已经运行其他网站的Web服务器上,我会认为我无法替换此文件,因为这意味着丢失了我当前的所有设置.我也不太热衷于手动修改此文件.
环顾四周之后,我找到了微软Web部署工具的发布候选版本(learn.iis.net/page.aspx/346/web-deployment-tool/).所以最后,既然你有一堆背景,那么问题就出现了:
有没有人有快速和(大多数)自动将网站添加到已经运行其他网站的IIS 7的经验?有没有人用“appcmd add backup”方法和[Web Deployment Tool] [2]做到这一点,如果有的话,你想出了什么困难?
在主服务器上,在共享配置下使用“export”.这将保存服务器的机器密钥(不同于ASP.NET的machineKey).这确保了所有加密数据都可以在新服务器上准备就绪.它还将保存applicationHost.config和administration.config.在第二台服务器上执行导入后,applicationHost.config和administration.config可以(并且应该)在两台服务器之间100%相同.
因此,您可以使用DFS-R自动保持配置100%同步,或者使用robocopy等定期执行此操作,具体取决于您喜欢的工具.
您也不需要指向主服务器上的其他路径.只是为了第二台服务器使用导出.
Web部署工具很棒,但就您所说的而言,共享配置更适合.
应该注意的是,证书不会存储在这些文件中,因此您需要在设置时手动执行这些证书,或者使用其他内容(如Web部署工具)来保持这些文件同步.