IIS6网站批量迁移至IIS7经验分享
迁移原因:公司服务器更换
迁移环境:源服务器 windows2003 X86 IIS6 目标服务器:windows2008 X64 IIS7
迁移过程:
第一次迁移失败,作为简要记录,源服务器安装简易FTP,打开后把目录文件全部复制到目标服务器,后将数据备份后恢复至目标服务器,本以为会成功,但造成大量的服务器错误,部分二级页面无法打开,
最终以失败告终。所以进行第二次尝试,如下:
第二次:用IIS迁移工具,简单可靠,主要操作如下:
最前:安装.net环境,两台都要安装相同的
1、操作前先清空数据库LOG文件,我的一个LOG文件20多G,不清空将浪费很多时间 ,清空办法分离数据库,然后删除LOG文件,然后 附加数据库,附加时会提示无日志文件 ,将此项直接删除即可,附加后
LOG文件为504K。
2、下载 IIS迁移工具 可直接在官网上下载最新版X86或X64位(网页最下面有各个语言版本) 下载地址:http://www.iis.net/downloads/microsoft/web-deploy
或者直接去我的网盘下载:(64位) http://pan.baidu.com/s/1o6p73tg (32位)http://pan.baidu.com/s/1eQGmotO
根据自己的系统类型在源和目标服务器安装合适版本的的web-deploy
先在源服务器找到web-deploy安装目录,一般路径为C:\Program Files (x86)\IIS\Microsoft Web Deploy V3
开始--运行 CMD 先进入如下所示的V3目录,输入 msdeploy -verb:getDependencies -source:webserver60 检测依赖关系
再在目标服务器上运行以上命令检查依赖关系 ,如果不太一样,修改目标服务器的依赖关系 ,本次我的有一项不一样 我的少了<dependency name="WindowsAuthentication " />
添加步骤如下:
IIS 管理器 --身份验证 启用windows身份验证即可
基本一致后进行迁移工作。
1、在源服务器下运行以下命令 (我在D盘下建了IIS文件夹,可任意名)
先执行msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password -whatif
后执行msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password
其中前一条命令多了个-whatif选项,这是用于显示该命令的预计执行结果,但不进行实际操作,这条命令执行无误后可以执行后一条命令,将整个站点导出到d盘iis目录下。
2、将d盘iis目录里的所有内容拷贝到目的服务器,并在目的服务器上先后执行
msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver60 -whatif
和msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver60 将站点部署到IIS7上。这样就完成了整个站点的迁移。
注意的几点事项:
有可能会报服务器的错误
大概注意以下几个地方:
(1)托管管道模式 经典还是集成
(2).NET环境 2.0还是4.0
(3)web.config 此处<customErrors mode="RemoteOnly">
(4)应用程序池-高级设置-启动32位应用程序 改为true
最后记着要是数据库密码不一样,要在配置文件里把密码改正确。
后记:
迁移后发现首页是正常访问了,但由于原来的网站用到了伪静态,迁移后二级的伪静态无法正常显示,一直是调整经典和集成模式,最终发现经典模式无法解决此问题,最终我的解决办法如下:
1.修改经典模式为集成模式
2.修改web.config配置文件
IIS7中增加如下内容:(该位置在</system.web>后增加的)
把<system.web>中以下的的内容直接注释掉:
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2" />
<add path="*.aspx" verb="GET" type="CoreClass.BuildHtmlDemo.ToHtmlHandler, CoreClass.BuildHtmlDemo" validate="false" />
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory" />
</httpHandlers>
<httpModules>
<add name="RewriteModule" type="CoreClass.BuildHtmlDemo.UrlRewriteModule, CoreClass.BuildHtmlDemo" />
<add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule" />
</httpModules>
在system.webserver中添加一份。
<system.webServer>
<modules>
<add name="RewriteModule" type="CoreClass.BuildHtmlDemo.UrlRewriteModule, CoreClass.BuildHtmlDemo" />
<add name="RewriterModule" type="URLRewriter.RewriterModule, URLRewriter" />
</modules>
<handlers>
<add name="MyHandler" path="*.aspx" verb="GET" type="CoreClass.BuildHtmlDemo.ToHtmlHandler, CoreClass.BuildHtmlDemo" preCondition="integratedMode"/>
</handlers>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
IIS6网站批量迁移至IIS7经验分享的更多相关文章
- [转]IIS6.0迁移至IIS7.0
原文地址:http://www.splaybow.com/post/iis-6.0-7.0.html 公司的项目需要迁移到IIS7的目标机器中 在此做记录 原来server 2003系统 迁到2008 ...
- 将Web站点由IIS6迁移至IIS7
最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...
- 关于启用 HTTPS 的一些经验分享(一)
转载: 关于启用 HTTPS 的一些经验分享(一) 随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 HTTPS.就在今天,免费提供证书服务的 Let's Encrypt ...
- 新东方APP技术架构演进, 分布式系统架构经验分享
今天的演讲题目是"新东方APP技术架构演进, C端技术经验分享" 作者:张建鑫, 曾任IBM高级软件架构师, 滴滴高级技术专家, 现任新东方集团高级技术总监 古代东西方的思想家都产 ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- 关于启用 HTTPS 的一些经验分享(二)
转载: 关于启用 HTTPS 的一些经验分享(二) 几天前,一位朋友问我:都说推荐用 Qualys SSL Labs 这个工具测试 SSL 安全性,为什么有些安全实力很强的大厂家评分也很低?我认为这个 ...
- thinkphp开发技巧经验分享
thinkphp开发技巧经验分享 www.111cn.net 编辑:flyfox 来源:转载 这里我给大家总结一个朋友学习thinkphp时的一些笔记了,从变量到内置模板引擎及系统变量等等的笔记了,同 ...
- 安装程序添加iis的方法经验分享
原文:安装程序添加iis的方法经验分享 网上有一些这样的方法,但我这里主要做一些对比和扩充 网上这方面的文章的岁数比较大,server 08R2和win7出来后,整理这方面的资料的文章没找到,所以这里 ...
- 经验分享:如何用grep对PHP进行代码审计
这是一个常见的误解- 企业需要购买复杂和昂贵的软件来发现应用程序中安全漏洞:而这些专门的软件应用程序,无论是黑盒或白盒,开源或商业,都能很快的发现安全漏洞. 事实是:所有这些专业的漏洞扫描工具都有其特 ...
- 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享
在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...
随机推荐
- C++基础之字符输出 cout
找了一些视频教程,课程的示例是输入一个三角形 要输入这样的图案,思路是可以进行拆解,分为两三角形分别输出,先输入一部分,比如,先输出上半部分三角形: 找到规律,可以发现,上面的三角形是7颗星,也就是说 ...
- 2022.07.13 vue3下pinia的简单使用及持久化
使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...
- lc.59 螺旋矩阵 II
题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 输出:[[1,2,3],[8,9, ...
- Linux挂载SMB共享文件夹
mount -t cifs -o username=xxxx,password=xxxx //PATH/TO/Shared/Folder /mount/point
- [BUUCTF]HCTF 2018WarmUp1 write up
ctrl+U查看源代码, 如下: 访问提示中的source.php文件 发现显示了源码,且存在另一个PHP文件hint.php(提示.php),先查看文件内是否有信息 用file来传参,并且要绕过wh ...
- 在创建maven项目时提示找不到插件 'org.springframework.boot:spring-boot-maven-plugin:'
因为是版本号缺失,不过我idea自建项目没这个问题,但是从springboot官网上创建下载就出现了这个问题. 找到文件夹的打开pom.xml文件 然后找到下图位置添加版本号,我的是2.6.1 添加完 ...
- Nodejs 发送 TCP 消息的正确姿势
最近使用 NODE-RED 跟 TCP 打交道.NODE-RED 里内建了一个节点叫"tcp-out",看文档呢使用这个节点可以很方便的把 payload 用 TCP 协议发送出去 ...
- Less1-union select 联合查询注入
在学习之前,我们要知道,什么是 SQL 注入? 一句话来说,攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的. SQL注入漏洞的危害是很大的,常常会导致整个数 ...
- RBAC学习(一)
0.前提 :用户只有一个直属部门,但角色可以关联多个部门 有一种情况就不太适用:比如说地区经理是一个角色,张三是北京市地区经理,他在组织架构中的直属部门是华北大区,然后一个黑龙江的销售李四提一个折扣申 ...
- 基于 Agora SDK 实现 iOS 端的多人视频互动
视频互动直播是当前比较热门的玩法,我们经常见到有PK 连麦.直播答题.一起 KTV.电商直播.互动大班课.视频相亲等. 本文将教你如何通过声网Agora 视频 SDK 在iOS端实现一个视频直播应用. ...