如何在IIS上配置Web Deploy发布功能,以便开发人员可以发布?

sta*_*ire 30 asp.net iis iis-7.5 visual-studio-2012 iis-8

我控制服务器在Windows Server 2012上运行IIS 8我要发布与发布选项的几个基本asp.net网站在Visual Studio 2012年有服务器配置的步骤没有什么好/当前微软的文章.

1)我究竟需要在服务器上做什么?我没有在各种IIS角色下看到任何"Web部署"角色选项.我看过一些人下载和安装"Web部署3.0"从微软的,但该文件是一岁,它似乎很奇怪,我将不得不下载另一个文件使用IIS提拔文件部署选项.如果您使用的IIS7或IIS7.5,而不是IIS8喜欢我,请随时回复你做什么,但让我知道你正在使用的版本.

2)身份验证过程是否加密?例如,FTP将以纯文本形式发送密码.FTP over SSL没有,但设置甚至自发的SSL证书只是为了获得安全的身份验证而烦人.那么Web部署呢?安全还是不安全?

3)我必须在服务器的防火墙上打开端口8172吗?微软的文档称我"可能需要".

4)在Visual Studio端,它需要一个帐户进行身份验证.这是服务器上的Windows帐户吗?我应该右键单击服务器上的IIS网站文件夹并在此处添加此用户,还是有其他一些将用户映射到网站的首选方式?如果是这样,需要什么权利?

请回答上述任何一项或全部内容,但请关注服务器端配置,而不是客户端(visual studio).请不要建议FTP,因为我真的想尝试Web Deploy.我也添加了一个IIS 7.5标签,因为一些答案可能与IIS 8相同.

sta*_*ire 28

似乎仍然必须下载Web Deploy扩展.此外,3.5版现已推出.

要在服务器上下载,默认的IE安全规则将要求您将http://*.microsoft.com等内容添加为受信任的站点,否则您无法下载安装程序.

整个软件包的用途相当大,涵盖了IIS的许多部署/备份/传输类型方案.因此,当您安装它时,它将变为"Web Platform Installer 4.6",并且除了Web Deploy 3.5之外还会安装大约10个先决条件.这些先决条件包括CLR类型,SQL Server框架(即使您没有安装SQL Server),SQL Server共享管理对象等.之后我确实检查了所有这些项目是否可以通过控制面板卸载(如果我改变主意的话)关于Web部署)他们在那里.

最后,为了在站点上配置Web部署,我找到了这个文档:

http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

要查找有关此内容的更多信息,请使用google"web deployment handler".

您还可以配置安全身份验证,这是我使用此Web Deploy发布路径而不是使用纯文本FTP的主要原因.但是,http ://www.iis.net/learn/publish/using-web-deploy/introduction-to-web-deploy

Web Deploy is secure. Web Deploy supports transfer over HTTPS. Note that variants of FTP such as SFTP and FTPS are also secure.
Run Code Online (Sandbox Code Playgroud)

我不确定这是否意味着无论如何我都必须使用SSL证书.我希望Web Deploy提供更多安全且不需要证书的身份验证选项.

  • 谢谢你这篇详细的帖子.我同意文档不是很好,我花了最后几个小时试图解决这个问题. (3认同)

Pau*_*ood 14

标记正确的答案指出我正确的方向将Visual Studio 2013中的网站发布到Server 2012."验证连接"按钮保持说明检查Web管理服务是否已安装.

截至2014年4月,这些简单的步骤有效:

安装Web部署

在Powershell中:(
 来自:https://www.orcsweb.com/blog/jamie-furr/manage-and-install-iis8-on-windows-2012-server-core/)

  • 安装-WindowsFeature Web服务器
  • 安装-WindowsFeature Web-Mgmt-Service
  • Set-ItemProperty -Path HKLM:\ SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1
  • Net Stop WMSVC
  • Net Start WMSVC
  • netsh advfirewall firewall add rule name ="允许Web管理"dir = in action = allow service ="WMSVC"

在IIS中:(
 来自 http://blog.richardszalay.com/2013/02/02/building-a-deployment-pipeline-with-msdeploy-part-4-server-configuration/)

  • 创建一个新的非管理员用户
  • 创建用户后,我们需要授予其部署站点的权限.右键单击您的网站,然后从"部署"子菜单中选择"配置Web部署发布..."

  • 真是个惊喜:)我个人已经搬回了xcopy部署.更简单,无论微软改变xcopy仍然有用+我们所有的团队都了解它是如何工作的. (4认同)
  • 仅仅是一个FYI,IIS 8不再具有"部署"下的"配置Web部署发布"选项 (3认同)
  • 哈 - 从Vista/Sever 2008开始,xcopy被标记为已弃用.RoboCopy是它的替代品:http://en.wikipedia.org/wiki/Robocopy我们的xcopy/Robocopy脚本工作正常 - 更简单 (2认同)