为实现负载平衡,我们可能会使用多个WEB服务器,也就会需要给多个IIS配置同样的站点和应用程序池.那么我们需要一个一个的重新建吗?当然不用,我们只需要一些简单的命令就可以在IIS7(Windows Server 2008)或IIS7.5(Windows Server 2008 R2)上来导出导入这些配置了.
当我们在IIS7或IIS7.5上创建站点时,IIS会为我们自动创建一个对应该站点的唯一的应用程序池.所以,我们要导入网站信息,就必须先导入应用程序池信息.
在IIS7+上导出所有应用程序池的方法:
%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml
这个命令会将服务器上全部的应用程序池都导出来,但有些我们是我们不需要的,要将他们删掉.比如:
DefaultAppPool
Classic .Net AppPool
如果在导入时发现同名的应用程序池已经存在,那么导入就会失败.
导入应用程序池的方法:
%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml
这样就可以将全部的应用程序池都导入到另一个服务器中了.
导出全部站点的方法:
%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml
同样,我们需要编辑sites.xml文件删除不需要的站点.如:
Default Website
导入站点的方法:
%windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml
至此,导入工作完成了,看看两台服务器的IIS配置一样了吧.
另外,介绍下单独导出导入一个站点的方法
导出单独应用程序池:
%windir%\system32\inetsrv\appcmd list apppool “应用程序池名称” /config /xml > c:\myapppool.xml
黄色字体的就是要导出的应用程序池名称
导入单独应用程序池:
%windir%\system32\inetsrv\appcmd add apppool /in < c:\myapppool.xml
导出单独站点:
%windir%\system32\inetsrv\appcmd list site “站点名称” /config /xml > c:\mywebsite.xml
黄色字体的就是要导出的站点名称
导入单独站点:
%windir%\system32\inetsrv\appcmd add site /in < c:\mywebsite.xml