在 Windows Server AppFabric 中导入和导出应用程序
Windows Server AppFabric 通过使用 MSDeploy(也称为 Web 部署工具)技术将实体移入或移出 Web 服务器,来利用现有 IIS 功能导入或导出应用程序。MSDeploy 允许无缝部署 IIS Manager、Visual Studio 2010 的应用程序,并通过使用 Windows PowerShell 脚本进行部署。MSDeploy 允许您使用部署操作需要的严格特征进行控制,以及在部署未按计划进行时执行疑难解答操作。
通过使用 Web 部署工具上构建的 IIS Manager 的命令,可以导入和导出 AppFabric 中的部署实体。您可以导入或导出整个计算机、整个网站或一个站点内的各个应用程序的实体。为简便起见,在本文档中,我们将任何作用域上的导出或导入实体均视为“应用程序包”。但应注意:导入或导出的应用程序包可以包含单个应用程序、网站下的所有应用程序或一台计算机下的所有网站。
可以采用多种方法利用 AppFabric 中的部署功能:
导出应用程序 - 要将现有应用程序打包并从一个 AppFabric 服务器移动到另一个 AppFabric 安装服务器,可以通过 IIS Manager 中的 Deploy -> Export Application 命令导出程序包。这将创建一个包含配置数据(包括注册表设置、Web 内容和 SQL Server 数据库信息和脚本)的应用程序包。所有这些数据对于将此程序包成功导入另一个 AppFabric 服务器以及重新创建配置以使其能正常工作都是十分必要的。在服务器场上,您可以导出单一应用程序,然后将其导入许可服务器,以重新创建相同的服务设置以便服务在负载平衡环境中运行。
导入应用程序 - 可以通过选择以前从另一个 AppFabric 服务器导出的程序包,将新实体导入 AppFabric。或者,可以选择 Visual Studio 2010 创建的、以前未导入到 AppFabric 服务器的新部署包。
要点 更改 Web 服务器配置之前,请始终备份系统和配置。例如,部署和取消部署应用程序操作,需要在执行操作之前进行备份。 要点 在服务器正式投入使用之前,始终测试并存档每个服务器组件与部署相关的操作。 使用脚本部署 - 可以通过使用命令行脚本,在 AppFabric 中执行应用程序部署操作。如同您在 IIS Manager 中执行的操作一样,这些脚本利用 MSDeploy 技术完成此任务。有关详细信息,请参阅第 2 课:使用 Windows PowerShell 部署订单服务应用程序。
先决条件
要导入或导出 Web 应用程序,需要下载 Web 部署工具。有关该工具的详细信息,请参阅 Web 部署工具 (https://go.microsoft.com/fwlink/?LinkId=188372)。有关下载站点,请参阅安装 Web 部署工具 (https://go.microsoft.com/fwlink/?LinkId=188373)。
在 Visual Studio 2010 中创建应用程序包
Visual Studio 2010 安装 Web 部署工具,并使用该工具将 Web 应用程序导出到程序包(.zip 文件)。程序包创建之后,可将其直接导入到应用程序作用域级别的 AppFabric。使用 Visual Studio 2010 为 AppFabric 创建新的应用程序包涉及以下过程:
在 Visual Studio 2010 中,右键单击解决方案资源管理器中的项目,然后单击“属性”。
单击“程序包/发布网站”选项,然后选中“将部署程序包创建为 Zip 文件”复选框,将 Web 部署程序包创建为 .zip 文件。在“将创建程序包的位置”文本框中,输入或浏览到路径,然后接受 .zip 文件名称或输入一个新的文件名。
右键单击解决方案资源管理器中的项目,然后单击“生成部署程序包”以将 .zip 程序包文件输出到该程序包位置。
在 AppFabric 中导入和导出应用程序
您可以在 IIS Manager 中导入和导出 Web 应用程序。
将应用程序导入 AppFabric
依次单击“开始”、“所有程序”、“Windows Server AppFabric”和“Internet 信息服务(IIS)管理器”,打开 IIS Manager。
在“连接”窗格中,选择您要导入应用程序的级别的实体。例如,如果您要在站点级别导入应用程序,则选择“Default Web Site”节点。
在“操作”窗格的“部署”下,单击“导入应用程序”以启动导入应用程序包向导。
备注
也可以右键单击左侧“连接”窗格中的文件夹实体,指向“部署”,然后选择“导入应用程序”以启动该向导。
备注
如果尚未将 Web 部署工具下载到计算机,则“导入应用程序”命令将不存在。有关详细信息,请参阅本主题上面的“先决条件”部分。
在导入应用程序包向导的“选择程序包”页上,单击“浏览”,并移动到包含应用程序 .zip 文件的文件夹。
在“打开”页上,选择 .zip 文件,然后单击“打开”。
在“选择程序包”页上,单击“下一步”。
备注
此过程使用清单显示程序包内容。创建应用程序包时,UI 将创建一个包含程序包内容列表的清单。该清单将传递给用于调用 IisApp、ContentPath 和 SQLDB 提供程序的清单提供程序。IisApp 提供程序项目指定 IIS 配置信息和内容。这是应用程序导入到 IIS 的方法。ContentPath 提供程序在安装过程中管理文件夹路径。SQLDB 提供程序管理数据库配置,使您可以选择要导入的配置数据、内容和数据库信息和脚本。例如,如果您的安装信息中没有 SQL Server,则不需要导入该数据库内容。
在“选择程序包内容”页上,展开程序包的内容,然后选择要导入的所有项目。单击“下一步”。
在“输入应用程序包信息”页上,输入您希望显示在左侧“连接”窗格中的 Web 应用程序的名称,或选择默认名称。单击“下一步”以安装程序包。
在“安装进度”页上,验证程序包是否已安装成功,然后单击“完成”。
备注
默认情况下,应用程序将使用部署到站点的正在运行的应用程序池。您可以更改以前在 .NET Framework 4 下运行的任何应用程序池。
备注
通过使用 MSDeploy 导出应用程序时,将不导出应用程序配置中的绑定协议。因此,如果应用程序需要的协议不是默认 HTTP,则在导入应用程序之后将不配置该协议。必须在导入应用程序之后,为应用程序设置启用该协议。此操作包括两个步骤:为包含应用程序的网站添加绑定,以及为应用程序启用协议。有关详细信息,请参阅以下过程。
备注
Dublin 工具支持配置 .NET Framework 4.0 应用程序,但未明确提供对 .NET Framework 2.0 应用程序的工具支持。因此,在同一应用程序池中混合 .NET Framework 2.0 和 .NET Framework 4.0 应用程序可能引发问题,例如配置不匹配可能中断应用程序。建议不要混合 .NET Framework 2.0 和 .NET Framework 4.0 应用程序,而是要将其放置在不同的应用程序池中以便在 Dublin 中进行管理。
从 AppFabric 导出应用程序
依次单击“开始”、“所有程序”、“Windows Server AppFabric”和“Internet 信息服务(IIS)管理器”,打开 IIS Manager。
在“连接”窗格中,依次展开服务器节点、“站点”节点和“Default Web Site”。
选择您要导出的 Web 应用程序。
在“操作”窗格的“部署”下,单击“导出应用程序”以启动导出应用程序包向导。
备注
也可以右键单击应用程序,指向“部署”,然后选择“导出应用程序”以启动该向导。
备注
如果在服务器级别导入,则在“部署”下的“操作”窗格中,您将看到“导出服务器程序包”和“导入服务器或站点程序包”。
在导出应用程序包向导的“选择程序包内容”页上,展开程序包的内容,然后选择要导出的所有项目。
要为程序包设置安全、链接扩展、重试、跟踪级别和同步设置,请单击“高级设置”,输入所需设置,然后单击“确定”。
要为程序包修改默认设置,请单击“管理组件”。选择“提供程序设置”列中的第一个打开单元,然后单击省略号按钮 (…) 以弹出用于输入特定于该提供程序的配置值的对话框。输入配置设置的值,单击“关闭”,然后单击“确定”。单击“下一步”移动到向导的下一页。
备注
默认情况下,程序包将包含已选择的应用程序及其内容文件夹。
在“选择参数”页上,验证是否列出所需参数,以及参数的类型、作用域和匹配是否正确。您可以添加新参数或修改自动生成的参数。单击“下一步”接受参数的更改,并移动到向导的下一页。
在“保存程序包”页上,单击“浏览”。在“另存为”对话框中,移动到所需路径,输入文件名,确保已选择 .zip 作为类型,然后单击“保存”。单击“下一步”。
在“导出进度和摘要”页上,验证程序包是否已成功创建,然后单击“完成”。
如果在导出应用程序然后对其进行导入之前,为应用程序启用的协议不是 HTTP,则必须为包含应用程序的网站添加绑定,并为应用程序启用该协议。要为网站添加绑定,请打开 IIS Manager,依次单击站点、“操作”窗格中的“绑定”、“添加”,为“类型”输入该协议和绑定信息(“*”表示所有主机名称有效),然后单击“关闭”。要为应用程序启用该协议,请打开 IIS Manager,依次单击应用程序、“操作”窗格中的“高级设置”,在“已启用的协议”框中输入逗号,然后在“http”之后输入要启用的协议,然后单击“确定”。
2011-12-05