Win2008 iis7服务器中批量迁移到另外一台IIS7的实现步骤

首先介绍我的实验环境

源IIS7服务器
OS:Windows server 2008 Datacenter
机器名称:web1
IP:192.168.1.20/24
安装的IIS Role Services如下

下载 (49.65 KB)

2008-4-27 19:53

下载 (54.08 KB)

2008-4-27 19:53

目标IIS7服务器
OS:Windows server 2008 Datacenter
机器名称:web2
IP:192.168.1.30/24
安装与源IIS7相同的Role Services

笔者的环境中共有里面有三个测试网站,如下图所示

下载 (52.68 KB)

2008-4-27 19:53

网站目录放在E:\web,里面共有3个网站。日志目录放在E:\IISlog,如下图所示

下载 (23.85 KB)

2008-4-27 19:53

其中web目录给iusr和IIS_iusrs分配了只读权限,Administrator和system分配了完全控制权限,如下图所示
Iusr和IIS_iusrs的权限

下载 (22.64 KB)

2008-4-27 19:53

下载 (23.93 KB)

2008-4-27 19:53

Administrators和system的权限

下载 (27.41 KB)

2008-4-27 19:53

下载 (29.02 KB)

2008-4-27 19:53

介绍完实验环境后,接下来介绍IIS7的用户和组,IIS7使用IUSR内建帐号替代了以前的IUSR_MachineName帐号,使用IIS_IUSRS内建组替代以前了IIS_WPG组,IUSR是个内建帐号,他不再需要密码。逻辑上您能够认为他就是NETWORKSERVICE或LOCALSERVICE帐号。内建的帐号和组是由操作系统确保的,这样就能够确保有一个唯一的SID,IIS甚至做得更好,他确保了新的帐号名称和组名称永远不会被本地化。例如,无论您安装的是那种语言版本的Windows,IIS帐号名称将永远是IUSR,而组名称将永远是IIS_IUSRS。

这对于我们将网站迁移到另外一台IIS7的最大好处是可以使用xcopy /o无缝拷贝文档连同他们的所有权和ACL信息到不同的机器上
参考资料Understanding User and Group Accounts with IIS7
URL: http://www.IIS.net/1026/SinglePageArticle.ashx

接下来介绍IIS7网站的配置文件,IIS7涉及到的配置文件就是站点下的Web.config和以及C:\Windows\System32\inetsrv\config下的配置文件,都是基于文本的XML文件。其中C:\Windows\System32\inetsrv\config\applicationHost.config里面的physicalPath定义了每个网站的物理路径,如果目标IIS7服务器的网站目录与源IIS7服务器网站目录不一致,那么在将applicationHost.config复制到目标IIS7服务器后,还要将physicalPath的路径改成目标服务器中的实际路径,以下为web1中C:\Windows\System32\inetsrv\config\applicationHost.config里面涉及physicalPath的内容。

<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
</bindings>
</site>
<site name="hello" id="2">
<application path="/" applicati>
<virtualDirectory path="/" physicalPath="E:\web\Hello" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.hello.com" />
</bindings>
</site>
<site name="diy" id="3">
<application path="/" applicati>
<virtualDirectory path="/" physicalPath="E:\web\diy" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.diy.com" />
</bindings>
</site>
<site name="beijing2008" id="4">
<application path="/" applicati>
<virtualDirectory path="/" physicalPath="E:\web\beijing2008" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.beijing2008.com" />
</bindings>
</site>
在介绍完后实验环境及相关的背景知识后,接下来就开始进行迁移操作
将目标IIS7服务器也就是web2中执行以下命令,将源IIS7服务器也就是web1的网站内容复制到web2的相同路径

xcopy \\192.168.1.20\e$\web /o /e /h /r e:\web

在web2执行以下命令,将web1的日志复制到web2的相同路径

xcopy \\192.168.1.20\e$\IISlog /o /e /h /r e:\IISlog

在web2执行以下命令,将web1的所有IIS配置文件复制到web2的相同路径

xcopy \\192.168.1.20\c$\Windows\System32\inetsrv\config /o /e /h /r c:\windows\system32\inetsrv\config

复制完成后,检查web2的网站目录权限,发现与web1网站目录所设的权限一致,如下图所示

下载 (24.43 KB)

2008-4-27 19:53

下载 (23.93 KB)

2008-4-27 19:53

然后打开web2的IIS管理界面,发现里面的内容与web1的内容完全一样!

下载 (42.84 KB)

2008-4-27 19:53

测试迁移后的网站是否可以正常访问,在这次实验环境中,通过修改web2的hosts来解释域名

下载 (16.85 KB)

2008-4-27 19:53

在web2打开IE浏览器,分别测试以上三个网址,结果非常成功!

下载 (12.79 KB)

2008-4-27 19:53

下载 (15.58 KB)

2008-4-27 19:53

下载 (32.65 KB)

2008-4-27 19:53

总结:IIS7服务器之间迁移是非常简单的,由于IIS7将所有配置都存在xml文件中,不再使用二进制的metabase来存储配置,这对于迁移一个有成百上千网站的Web服务器无疑提供了更多的手段和方法。在我的实验环境中,只需要通过一个xcopy命令就可以从一个iis7服务器将所有网站完全迁移到另外一个IIS7网站。

(0)

相关推荐

  • ruby 小脚本搞定CVS服务器更换后checkout下来的工程迁移

    def changeCVS(path) Dir.foreach(path) do |dir| if dir != "." && dir != ".." absdir = path + "/" + dir if (File.directory? absdir) && (dir == "CVS") cvs_root_file_name = absdir + "/Root" p c

  • Windows Server 2008 R2 DNS 服务器迁移方法

    因为都是Windows 平台,这不算什么事.好吧,看一下,我们的环境: 原DNS服务器: 主机名: Win08-01       IP地址:10.200.201.11 新DNS服务器(临时主机名和IP地址),因为迁移成功后,需要将主机名和IP地址改为原DNS相同,原DNS停机. 主机名: Win08-02       IP地址:10.200.201.12 下图是我们准备的一些测试记录: 此图显示的是正向查找区域数据,里面包括有A记录.MX记录.CNAME记录.空域名解析等. 此图显示的是反向查找

  • 服务器迁移php版本不同可能诱发的问题

    今天在服务器做了迁移以后,前台可以正常显示和调用,登陆后台显示500错误,一般这种情况下都要查看核心跳转文件,经查看发现login.php文件并没有调用.因为找不到login.php文件,那就证明这个文件里是有语法错误. 打开服务器报错信息发现.Fatal error:Call-time pass-by-reference has been removed 经过查找资料发现,自己原来的服务器环境是5.2版本的,更换了服务器以后升级到了5.4版本,所以就出现了参数传递错误. Fatal error

  • Win2008 iis7服务器中批量迁移到另外一台IIS7的实现步骤

    首先介绍我的实验环境 源IIS7服务器 OS:Windows server 2008 Datacenter机器名称:web1IP:192.168.1.20/24安装的IIS Role Services如下 下载 (49.65 KB) 2008-4-27 19:53 下载 (54.08 KB) 2008-4-27 19:53 目标IIS7服务器 OS:Windows server 2008 Datacenter机器名称:web2IP:192.168.1.30/24安装与源IIS7相同的Role S

  • IIS7.5中神秘的ApplicationPoolIdentity介绍

    IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify win7的官方帮助上是这么说的: ApplicationPoolIdentity – 默认情况下,选择"应用程序池标识"帐户.启动应用程序池时动态创建"应用程序池标识"帐户,因此,此帐户对于您的应用程序

  • IIS7.5中调试.Net 4.0网站出现无厘头、500错误的解决方法

    刚刚 部署了ii7的dll的有x86写的,就会出现以下这样的问题 iis 7 x86,Could not load file or assembly 'Name' or one of its dependencies. An attempt was made to load a program with an incorrect format. 解决这样的,只要设置一下iis兼容x86程序就可以了,具体步骤: 1.开始-> 运行 2. 3. 高级设置, Enable 32 - Bit Appli

  • Laravel中数据迁移与数据填充的详细步骤

    前言 这是一篇基础教程,对标 Laravel 文档中的数据迁移和数据填充,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍把. 关于Laravel数据库迁移的理解 最初看到laravel框架中迁移的时候,会以为这个迁移是把数据从一个数据库中迁到另一个数据库中,又或者是从一个服务器迁移到另一个服务器中.我自己学习有一个学习方法叫做顾名思义,所以所述是我的第一反应,但是学了以后发现这个迁移不是我理解中的迁移,但又不知道为什么叫做迁移,所以去百科查了一下. 迁移是指已经获得的知识.技能,甚

  • xshell会话批量迁移到mobaxterm的工具(python小工具)

    自己写了一个Python小工具:xshell2mobaxterm,可以将xshell的session转换成mobaxterm的数据文件以导入到mobaxterm中. exe版的编译好了,博客园不支持附件,所以没法上传,需要的话可以评论留下邮箱,我发送给你. Python代码: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # xshell session to mobaxterm session file # Support: TELNET, se

  • 在Linux服务器中配置mongodb环境的步骤

    1.到mongodb官网下载一个合适的linux环境安装包 如下图,放到本地的某个角落,要记得位置哦~ 2.然后你需要有一个服务器,并进入 ssh root@你的IP //回车输入密码 3.把下载好的安装包传到服务中 另开ssh窗口(command+n),如果是windows就打开新的cmd窗口,因为我们要操作本地文件,之前的窗口我们已经登了服务器了. 传的方法很多,我只演示其中一种啦. cd "安装包所在文件夹" // 去你刚才安装包放的位置 scp "本地文件"

  • CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

    CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgrade yum install net-tools 安装apache 关闭SELinux 编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备. yum -y install httpd mod_ssl 配置防火墙 firewall-cmd --permanent --add-port=8

  • win2008 r2 服务器安全设置之安全狗设置图文教程

    服务器安全狗,作为国内首款支持Windows全系列操作系统(Windows2003/Windows2008(32 位.64 位)/Windows2012)的基于内核级的服务器安全防护软件,采用 NDIS 中间层驱动模式,实现从驱动层直接屏蔽攻击,将针对服务器的攻击带来的损失降低到最小,最大程度地保护用户服务器的安全. 功能涵盖了服务器系统优化(包括服务器漏洞补丁修复等).服务器程序守护.远程桌面监控.文件目录守护.系统帐号监控.DDOS 防火墙.ARP 防火墙.Web 防火墙.安全策略设置以及邮

  • 在Nginx服务器中配置针对TCP的负载均衡的方法

    默认nginx不支持tcp的负载均衡,需要打补丁,(连接方式:从客户端收到一个连接,将从本地新建一个连接发起到后端服务器),具体配置如下: 一.安装Nginx 1.下载nginx # wget http://nginx.org/download/nginx-1.2.4.tar.gz 2.下载tcp模块补丁 # wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master 源码主页: https://github.c

  • Nginx服务器中配置非80端口的端口转发方法详解

    nginx可以很方便的配置成反向代理服务器: server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy

随机推荐