30

我控制在 Windows Server 2012 上运行 IIS 8 的服务器。我想在 Visual Studio 2012 中使用发布选项发布一些基本的 asp.net 网站。没有关于服务器配置步骤的优秀/当前 Microsoft 文章。

1)我到底需要在服务器上做什么?我在各种 IIS 角色下看不到任何“网络部署”角色选项。我读过一些人从 Microsoft 下载和安装“Web Deploy 3.0”,但该文件已有一年的历史,我必须下载另一个文件才能使用提升的 IIS 文件部署选项,这似乎很奇怪。如果您像我一样使用 IIS7 或 IIS7.5 而不是 IIS8,请随时回复您的工作,但请告诉我您使用的是什么版本。

2) 认证过程是否加密?例如,FTP 将以纯文本形式发送密码。SSL 上的 FTP 没有,但设置一个自发行的 SSL 证书只是为了获得安全的身份验证很烦人。那么 Web 部署呢?它安全吗?

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

4) 在 Visual Studio 方面,它需要一个用于身份验证的帐户。这是服务器上的 Windows 帐户吗?然后我应该右键单击服务器上的 IIS 网站文件夹并将该用户添加到那里,还是有其他将用户映射到网站的首选方式?如果是,需要哪些权利?

请回答以上任何或所有问题,但请关注服务器端配置而不是客户端(Visual Studio)。请不要推荐 FTP,因为我真的很想尝试 Web Deploy。我也添加了 IIS 7.5 标记,因为某些答案可能与 IIS 8 相同。

4

2 回答 2

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 部署,我找到了这个文档:

http://www.iis.net/learn/publish/using-web-deploy/configure-the-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.

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

于 2013-10-11T17:42:39.623 回答
15

标记为正确的答案为我指明了将网站从 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
  • 净停止 WMSVC
  • 网络启动 WMSVC
  • netsh advfirewall 防火墙添加规则名称=”允许 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 部署发布...”
于 2014-04-17T18:15:08.917 回答