使用Microsoft Web Deploy技术自动部署 下载本文

然后回到IIS管理器的主界面,并双击―管理服务‖图标:

双击―管理服务‖图标后会打开下面的页面。选中―Enable Remote Connections‖复选框来启用远程部署。另外你也可以选择填写正在运行的管理服务的IP和端口号—还有允许那

些客户端IP可以连接进来。你可以通过调整这些设置来限制访问部署服务的人员。 在―操作‖页签点击―启动‖连接就会在服务期上启动Web管理服务:

现在这台服务器已经使用管理员账号的Web Deploy安装了部署服务。

重要事项:一个需要关注的事情是你的服务器上是否启用了防火墙,或你的服务器在集群中的位置。管理服务默认使用HTTPS协议运行在8172这个端口。这个端口可能默认

被你主机的设置关闭了。这样的话,要么你需要在防火墙/或宿主上打开它—要么选择一个允许的端口号。要测试管理服务是否可用,只需要打开浏览器并访问类似https://yourservername:8172/MsDeploy.axd 的链接就可以—如果你被要求提供用户名/密码,那说明它没有被防火墙阻挡。如果是超时则说明防火墙禁用了端口。 在非Windows Server 2008的操作系统上启用Web Deploy

上面的步骤演示了如何在Windows Server 2008或Windows Server 2008 R2操作系统上启用Web Deploy服务。IIS 7管理服务内置于这些操作系统里,Web Deploy可以直接用它。 如果你要在Windows 7,Windows Vista或者Windows Server 2003上尝试上面的步骤时,你会发现上面没有IIS管理服务(和在IIS管理器里的图标)。而你需要稍微改变一下上面的步骤来启用Web Deploy服务。

在Windows 7,Windows Vista和Windows Server 2003上启用Web Deploy

你可以使用下面的步骤,在Windows 7,Windows Vista和Windows Server 2003上启用Wed Deploy发布服务:

1) 打开一个管理员权限命令行窗口(即你需要右击并通过―以管理员身份运行‖启动)。 2) 输入―net start msdepsvc‖来启动―Web部署代理服务‖:

3) 为了确认发布服务是否在运行,更换目录到―c:\\Program Files\\IIS\\Microsoft Web Deploy‖

―msdeploy

–verb:dump

–source:appHostConfig,computername=localhost‖:

这会导致本地的msdeploy客户端连接到你刚刚启动的发布服务上,并打印出你Web服务器上ApplicationHost.Config文件的当前状态:

如果有很多东西显示出来,你就会知道所有的东西工作正常,而且你刚刚启用了Wed Deploy。使用这种方法不能启用―受托访问‖(就是允许非管理员发布内容—我下篇文章会详细介绍到)—但是会允许有管理员权限的账号在这台机器上进行部署。 在Visual Studio里使用“发布Web”对话框

现在我们有启动了Web Deploy的Web服务器,让我们试着在Visual Studio IDE上发布一些东西。

VS 2010包含了一个可以让你快速部署一个Web应用程序到远程服务器上的新―发布Web‖功能。你可以在任何一个ASP.NET Web应用程序项目上通过右击(Web窗体和MVC),然后选择―发布‖命令使用它: