posts - 35, comments - 32, trackbacks - 2, articles - 1

2010年3月9日

WebDeploy同步IIS6文档下载
liveq.net

简介

WebDeploy 是微软开发的用于IIS管理的简单应用程序。WebDeploy通过简单的命令行脚本实现部署在IIS6上应用程序向IIS7应用服务器转移、IIS6应用服务器之间的同步,以及IIS7应用服务器之间的同步等。WebDeploy同步包含了IIS配置和部署的应用程序的同步。值得注意的是,在对IIS进行任何操作之前请进行备份。

应用环境

  • .Net Framework 2.0 SP1 或更高版本
  • Web Deployment Tool 1.0

同步方式

  • Push 推方式,同步本地服务器推送给远程服务器
  • Pull 拉方式,同步远程服务器到目标服务器
  • Independent Sync
  • 手工同步,打包站点复制到远程服务器。

下载地址

http://www.iis.net/expand/WebDeploy

安装WebDeploy

安装WebDeploy 会在服务器安装Remote Agent Service 服务,负责监听管理操作的HTTP请求。WebDeploy默认监听http://+/MSDEPLOYAGENTSERVICE/。%20%0d因为Web应用程序一般都是监听80因为Web应用程序一般都是监听80端口的,因此我们需要修改默认配置。创建bat文件并执行:

msiexec /i <msi_filename> /passive ADDLOCAL=ALL LISTENURL=http://ServerName:9999/MSDEPLOYAGENTSERVICE/

  • msi_filename:安装程序名称
  • ServerName:对应机器名称或IP地址
  • 9999:表示监听端口

测试安装

  1. 启动服务:Net start msdepsvc
  2. 在浏览器中输入监听地址例如http://ServerName:9999/MSDEPLOYAGENTSERVICE/
  3. 正确的页面响应结果为500错误

测试WebDeploy安装

图:测试WebDeploy安装

步骤1 – 查看站点依赖

命令:msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1 查看IIS站点配置环境依赖,并在目标服务器进行相应的设置。例如:权限、依赖项等。
  • IIS6中使用metakey=lm/w3svc/1,其中“1”为网站标识。可以通过IIS管理器,点击站点查看。
  • IIS7中使用apphostconfig="Default Web Site",为站点名称。

步骤2 – 查看IIS同步

命令:
  • Push:在本地服务器执行

msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1:9999 -whatif > msdeploysync.log

  • Pull:在远程服务器执行

msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log

若没有访问权限,需要提供用户名和密码,参数:userName,password。IIS同步更新信息写入msdeploysync.log日志文件中。目录地址:Program Files\IIS\Microsoft Web Deploy下。

步骤3-执行IIS同步

检查完成后,去除命令中的-whatif标签
  • Push:在本地服务器执行

msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1:9999 > msdeploysync.log

  • Pull:在远程服务器执行

msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 > msdeploysync.log

其他

IIS配置备份

  • 备份:iisback /backup /b <filename>
  • 查看备份列表:iisback /list
  • 恢复:iisback /resotre /b <filename>

IIS APP POOL

  • 保存App Pool配置:

msdeploy -verb:sync -source:metakey=lm/w3svc/AppPools -dest:archivedir=c:\AppPoolConfig,encryptPassword=testIIS

  • 还原App Pool配置:

msdeploy -verb:sync -source:archivedir=c:\AppPoolConfig,encryptPassword=testIIS -dest:metakey=lm/w3svc/AppPools

其他资源

  1. 使用 Iisback.vbs 备份 IIS 配置 http://technet.microsoft.com/zh-cn/library/cc775682(WS.10).aspx
  2. WebDeploy功能预览http://learn.iis.net/page.aspx/346/web-deploy/
  3. 合并IIS6http://blogs.msdn.com/rakkimk/archive/2010/03/02/msdeploy-can-i-use-it-to-migrate-my-iis6-to-another-iis6-oh-yes.aspx

posted @ 2010-03-09 17:38 Heclei 阅读(190) 评论(0) 编辑

2009年11月24日

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
   </dependentAssembly>
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
   </dependentAssembly>
  </assemblyBinding>
 </runtime>

前些天帮朋友发布一个网站,有个有城市选择的页面是用微软的updatepanel做的无刷新效果。但发布到外网就没无刷新效果了。很奇怪,后来把配置文件里Extensions版本的版本好改成1.0.61025.0就好了。

 

Web.Config配置

很奥妙的事,微软在.config配置文件中添加bindingRedirect,就可以在程序加载是将版本号修改为其他版本号。想了想终于明白为什么没有3.5.0.0版本的程序集了,估计微软是为了标记这个发布是framework3.5用的。

posted @ 2009-11-24 16:45 Heclei 阅读(79) 评论(0) 编辑

2009年9月24日

Code

posted @ 2009-09-24 14:07 Heclei 阅读(307) 评论(0) 编辑

2009年9月22日

平时做写小项目,没时间去管理文档。特别时数据库修改后总是忘记了修改哪。所以下决心做了比较工具。
开发:
1.Visual Stadio 2008
语言:
1.C#
数据库:
1.SQLServer 2005

功能:
1.主、从数据库相互比较
2.比较表字段,索引,约束,触发
3.比较存储过程
4.比较试图

使用:
1.运行界面
连接数据库

2.连接需要比较的数据库
连接数据库

3.比较
比较

4.生成 主->从、从->主 差异文档
生成文档

程序下载:程序下载
源码下载:源码下载

最后:
感谢fanea在百忙之中,给程序添加的比较文档。

posted @ 2009-09-22 17:19 Heclei 阅读(187) 评论(2) 编辑

2009年4月8日

笔记本安装VS2008和VS2005,VS2005无法调试VS2008却正常。因大势所趋所有一直在用VS2008,所有也没在意这个问题。

最近有个朋友的项目使用VS2005,没办法只好找找解决方法。

实验的几下,感觉是进程没有被自动加载。于是google、baidu寻找“VS2005无法调试”,“VS2005自动加载进程”等问题未果。

问题如下:

  1. VS2005 WEB F5调试自动退出调试状态
  2. 手动附件进程 (调试-附件进程-WebDev.WebServer.exe)可以正常调试。IIS的话应该是aspnet_wp.exe了。

鉴于手动添加正常,估计是权限问题。于是在程序目录和“WebDev.WebServer.exe”都直接添加了everyone的完全控制权限,但问题还是没有解决。

目前的解决方法还是第二种手动附件进程调试,问题继续研究中。

posted @ 2009-04-08 23:50 Heclei 阅读(802) 评论(12) 编辑

2009年3月13日

摘要: Cookie:[代码]getElementsByClassName:[代码]Event[代码]比较实用的,不需要很多无用的代码.阅读全文

posted @ 2009-03-13 13:37 Heclei 阅读(226) 评论(0) 编辑

摘要: static private bool IsOneInstance() {#if !DEBUG bool one; mutex = new System.Threading.Mutex(true, "VIPSHOP", out one); return one;#else return true;#endif } if (IsOneInstance()) { Application.Run(new...阅读全文

posted @ 2009-03-13 12:02 Heclei 阅读(137) 评论(0) 编辑

2009年2月27日

摘要: 转:http://blog.blueshop.com.tw/hammerchou/articles/51973.aspxusing namespace System::Data::Odbc;/// 指定 Paradox 驱动程式 ( 连线字串 )String ^drv = "Driver={Microsoft Paradox Driver (*.db )};Fil=Paradox 7.X;Defa...阅读全文

posted @ 2009-02-27 11:22 Heclei 阅读(217) 评论(0) 编辑

2009年2月3日

摘要: /// <summary> /// Gets a value indicating if the process is running in 64 bit environment. /// </summary> public static unsafe bool IsRunningOn64Bit { get { return (sizeof(IntPtr) == sizeo...阅读全文

posted @ 2009-02-03 11:01 Heclei 阅读(1003) 评论(0) 编辑

2008年9月5日

摘要: 这一主题前面相关的文章如下:Service Broker实现发布-订阅(Publish-Subscribe)框架(1)Service Broker实现发布-订阅(Publish-Subscribe)框架(2)发布信息Publishing Information这一节演示订阅者通过订阅从PublisherService服务接收信息,已经AuthorService如何发送新的article消息到Pub...阅读全文

posted @ 2008-09-05 09:21 Heclei 阅读(96) 评论(0) 编辑