[转]IIS6.0迁移至IIS7.0
原文地址:http://www.splaybow.com/post/iis-6.0-7.0.html
公司的项目需要迁移到IIS7的目标机器中 在此做记录
原来server 2003系统 迁到2008中
目标:
将IIS6的所有网站包括Application Pools全部迁移至IIS7.5
环境:
Source:Windows Server 2003 SP2,IIS6
Dest:Windows Server 2008 R2,IIS7.5
工具:
Web Deploy 2.0
下载链接:http://www.iis.net/download/webdeploy
[我用的是3.5版本]
实施:
1.检测II6依赖的组件和Application Pools 查询当前IIS下站点及所需要的配置:
C:\Program Files\IIS\Microsoft Web Deploy V2>msdeploy -verb:getDependencies -source:webserver60
显示内容:
Info: Object configProtectedData (MSDeploy.webServer60/webServer60/machineConfig
32[@path='/']/location[@path='']/configProtectedData) skipped due to skip directive ‘ConfigProtectedData’.
<OUTPUT>
<DEPENDENCYINFO>
<DEPENDENCIES>
<DEPENDENCY name=”AnonymousAuthentication” />
<DEPENDENCY name=”WindowsAuthentication” />
<DEPENDENCY name=”ISAPIFilter” />
<DEPENDENCY name=”ServerSideIncludeDisabled” />
<DEPENDENCY name=”AspNet2.0″ />
<DEPENDENCY name=”HttpCompressionStatic” />
<DEPENDENCY name=”HttpCompressionDynamic” />
</DEPENDENCIES>
<APPPOOLSINUSE>
<APPPOOLINUSE name=”DefaultAppPool” definitionIncluded=”True” />
<APPPOOLINUSE name=”M114″ definitionIncluded=”True” />
</APPPOOLSINUSE>
<ISAPIS>
<ISAPI enabled=”False” dll=”C:\WINDOWS\system32\inetsrv\httpodbc.dll” />
</ISAPIS>
</DEPENDENCYINFO>
</OUTPUT>
C:\Program Files\IIS\Microsoft Web Deploy V2>
dependency name后面的就是所需的组件,在目标机器上安装相关组件
apppoolInUse name后面的就是正在使用的Application Pools
2.IIS6导出所有网站:
msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\wwwroot,encryptPassword=password -whatif
msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\wwwroot,encryptPassword=password
备注:
webserver60表示IIS所有网站(含所有Application Pools)
encryptPassword=password表示有SSL网站时需使用
-whatif 表示只是检测有没有错误,并不会报错,如检测正常,即可去掉,就是导出了
3.IIS7.5导入所有网站:
msdeploy -verb:sync -source:archivedir=d:\wwwroot,encryptPassword=password -dest:webserver60 -whatif
msdeploy -verb:sync -source:archivedir=d:\wwwroot,encryptPassword=password -dest:webserver60
参考:
ssl参考:http://forums.iis.net/t/1156168.aspx
迁移参考:http://learn.iis.net/page.aspx/427/migrate-a-web-site-from-iis-60-to-iis-7-or-above/
------------- ------------- -------------分割 ------------- ------------- -------------
发现的问题:
目标平台是.netFramework4.0 源平台是.netFramework2.0
出现平台不同的情况 解决问题如下
https://blogs.msdn.microsoft.com/ericparvin/2015/04/03/error_framework_versions_do_not_match/
在C:\Program Files\IIS\Microsoft Web Deploy V3目录下 找到 msdeploy.exe.config文件
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true" >
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
将 <supportedRuntime version="v2.0.50727" />
放在 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
前面!!!!!!
之后尝试导入成功。