IIS7站点批量迁移到另一台IIS7服务器

在较大型网站系统中,为实现负载平衡,我们可能会使用多个WEB服务器,也就会需要给多个IIS配置同样的站点和应用程序池。那么我们需要一个一个的重新建吗?当然不用,我们只要要少量简单的命令即可以在IIS7(Windows Server 2008)或者IIS7.5(Windows Server 2008 R2)上来导出导入这些配置了。
当我们在IIS7或者IIS7.5上创立站点时,IIS会为我们自动创立一个对应该站点的唯一的应用程序池。所以我们要导入网站信息,就必需先导入应用程序池信息。
在这有两点需要特别说明:
在进行以下所有命令进行操作里,都需要在CMD窗口执行命令,而不能在Powershell窗口中。
%windir%实际上是Windows系统默认设置的一个环境变量,表示Windows系统的安装目录,假如你的系统安装在C盘,那么它即可能等于C:\Windows(假如系统安裝在D盘,则可能是D:\Windows,以此类推入。
一、应用程序池
1、批量导出
%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml
导出的文件是一个xml,内容相似下面这样:

2、批量导入
%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml
假如是操作完之后,发现少了一个两个的,需要单独导出其中一个应用程序池的话,可以用以下命令:
3、单个导出
%windir%\system32\inetsrv\appcmd list apppool “应用程序池名称” /config /xml > c:\myapppool.xml
4、单个导入
%windir%\system32\inetsrv\appcmd add apppool /in < c:\myapppool.xml
二、站点
1、批量导出
%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml
导出的文件是一个xml,内容相似下面这样:

2、批量导入
%windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml
假如是操作完之后,发现少了一个两个的,需要单独导出其中一个站点的话,可以用以下命令:
3、单个导出
%windir%\system32\inetsrv\appcmd list site “站点名称” /config /xml > c:\mywebsite.xml
4、单个导入
%windir%\system32\inetsrv\appcmd add apppool /in < c:\myapppool.xml
三、最简单有效(最没技术含量)的方法
上面说的通过cmd命令来导入导出应用程序池和站点配置,其实是在装B。基本上来说在负载平衡方案中使用的多台WEB服务器,站点配置完全一样,包括站点的物理路径都一样。也就是说目标IIS7服务器的网站目录与源IIS7服务器网站目录完全一致,那么在我们配置好一台Web服务器后,其实只要要将以下文件
%windir%/System32/inetsrv/config/applicationHost.config
文件内容相似下面这样:

拷贝到目标IIS7服务器的以下路径:
%windir%/System32/inetsrv/config/
这一个文件拷过去之后,目标Web服务器立马会自动生成所有站点以前站点对应的应用程序池。在拷贝之后仍然可以对这个拷贝过来的文件进行批量修改操作。比方:批量增加和修改所绑定域名。
总结:
IIS7服务器之间迁移是非常简单的,因为IIS7将所有配置都存在xml文件中,不再使用二进制的metabase来存储配置,这对于迁移一个有成百上千网站的Web服务器无疑提供了更多的手段和方法。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » IIS7站点批量迁移到另一台IIS7服务器