最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利。这里就把相关内容整理总结一下。
首先自然是要安装基本运行环境,包括iis,.net framework 1.1,3.5,4.0。这里都没有啥大问题,就是安装.net frame1.1时会报一个兼容性问题的提示,这里不需要理会,继续安装即可,但装完后别忘了再安装.net framework1.1 sp1。安装完后还需要在machine.config里加上以下节点:
<section name="system.webServer" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
其次就要将站点由IIS6迁移到IIS7了,如果服务器上应用系统少,部署简单,那倒是可以考虑拷贝部署目录到新服务器,然后从头进行配置的方式。但如果系统多,配置复杂,那这种方式显然不可取,这时就要使用微软的Web Deployment Tools实现迁移。Web Deployment Tools是一个比较好的工具,平时就在利用它实现多台Web服务器的同步,但它没法实现IIS6到IIS7的同步,那只好采用折中方式。
1.执行msdeploy -verb:getDependencies -source:webserver60命令,检查源服务器的依赖关系,并确保这些依赖关系在目的服务器上已正确安装配置。

2.先后执行msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password -whatif和-verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password
其中前一条命令多了个-whatif选项,这是用于显示该命令的预计执行结果,但不进行实际操作,这条命令执行无误后可以执行后一条命令,将整个站点导出到d盘iis目录下。
3.将d盘iis目录里的所有内容拷贝到目的服务器,并在目的服务器上先后执行msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver -whatif和msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver将站点部署到IIS7上。这样就完成了整个站点的迁移。
然后还要检查一下各应用在新的环境下是否正常。这时候很可能就会发现.net framework1.1下的程序有问题,对应的应用程序池会显示对应的.net framework版本为2.0,且无法选择到1.1版本。

这时可以通过执行appcmd命令来实现.net framework版本切换,执行
appcmd set apppool "DefaultAppPool" /managedruntimeversion:v1.1命令,之后你就会发现.net framework版本已经改成了1.1。
最后还要参照IIS6服务器的设置更改一下上传文件的允许大小。.net的程序跟原来一样修改machine.config即可,这里就不多说了。asp程序的修改方法有所不同,Win2003+IIS6下是修改C:\WINDOWS\system32\inetsrv下的metabase.xml文件,但在Win2008+IIS7下就不需要那么麻烦了,只要IIS里配置ASP应用程序属性即可。

当然,如果是通过Web Deployment Tools进行迁移的,那这些设置就已经自动迁移过来了。

将Web站点由IIS6迁移至IIS7的更多相关文章

  1. FineUI从iis6迁移到iis7.5上遇到的奇葩事情

    前天把一台旧服务器上的windows2003+iis6上的fineui项目迁移到了win7+iis7上面来了,没有编译,直接以源码方式运行. 本来运行的好好的,昨天下午在上面用vs2010打开了一下看 ...

  2. ASP.NET程序从IIS6移植到IIS7时出现500.22错误

    最可能的原因:  •    此应用程序在 system.web/httpModules 节中定义配置.  可尝试的操作:  •    将配置迁移到 system.webServer/modules 节 ...

  3. ASP.NET程序从IIS6移植到IIS7时出现500.22错误(转)

    最可能的原因: •    此应用程序在 system.web/httpModules 节中定义配置. 可尝试的操作: •    将配置迁移到 system.webServer/modules 节.也可 ...

  4. [转]IIS6.0迁移至IIS7.0

    原文地址:http://www.splaybow.com/post/iis-6.0-7.0.html 公司的项目需要迁移到IIS7的目标机器中 在此做记录 原来server 2003系统 迁到2008 ...

  5. 构建高性能web站点-1

    以下为阅读<构建高性能web站点>郭欣 著 这本书的适合读者: 1.编写web程序.关心站点性能,并且希望自己做的更加出色的开发人员 2.关心性能和可用性的web架构师 3.希望构建高性能 ...

  6. IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3

    本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: IIS5.1 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装AS ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  8. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  9. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

随机推荐

  1. WINDOW.PARENT.CKEDITOR.TOOLS.CALLFUNCTION 图片上传

    CKEDITOR  编辑器   图片上传 WINDOW.PARENT.CKEDITOR.TOOLS.CALLFUNCTION (CKEditorFuncNum,图片路径,返回信息); CKEditor ...

  2. java封装性之private

    public class TestDemo{ public static void main(String args[]){ Person perA= new Person(); perA.setNa ...

  3. 关于C#操作数据库ExecuteNonQuery()的返回值问题

    ) { retValue = AccessCon.ExecuteSql(sql = "update salesData set sellingPrize='" + man.Sell ...

  4. warning 4510 with const member in struct

    I write a code section as this struct My{const int a;}; OK, then set the warning level then I will g ...

  5. code complete part1

    最近在看code complete,学习了一些东西,作为点滴,记录下来. 关于类: 类的接口抽象应该一致 类的接口要可编程,不要对类的使用者做过多的假设.不要出现类似于:A的输入量一定要大于多少小于多 ...

  6. UVA 1395 (kruskal)

    /* 最大路与最小路的问题: 这道题看似简单,但是若不知道思路将无法写出. 思路:最小生成树很容易求出,但是最大值与最小值只差很难保证是最小的, 比如:1 5 5 6 100 101 很明显101 - ...

  7. 新手之自动转存DLL——20150626星期五

    -------------------菜鸟错例一:--------------------------------------------- int a=0; if() { int a = GetTy ...

  8. C/C++变量名与值的问题

    首先说明变量名是不占空间的. 变量:用来标识一块内存空间,这块内存区域的值一般是可以被该的. 而const常量通常限定这一块内存区域的值是不可被更改的. 变量名:只是一个标识符,并不占内存空间.在c的 ...

  9. 2016_09_21 Russia is seriously running out of cash_CNN

    After almost two years in recession,the country's rainy day fund has shrunk to just $32.2 billlion t ...

  10. Form onsubmit 事件 阻止表单提交() 必须选中同意选项才可以提交

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程 ...