gpt4 book ai didi

c# - Web 部署到 2 个独立的 Web 服务器?

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:34 25 4
gpt4 key购买 nike

我有一个 MVC3 应用程序,我使用 Visual Studio 中的“Web 发布”功能将其部署到 IIS 7.5。我需要设置第二台服务器,它将实现硬件负载平衡,并将镜像第一台服务器上的设置。

我知道 Web Farm Framework 并且这是一个选项,但是我不喜欢将 Controller 服务器作为链中最薄弱的环节的想法。我想我宁愿只使用硬件负载平衡器来引导流量。

是否可以编写一个每次运行时针对 2 个独立服务器的手动 Web 部署脚本?

最佳答案

以下是我如何使用 TFS 执行此操作:

  1. 创建您的解决方案配置。选择构建 -> 配置管理器。在 Active Solution Configuration 下拉列表下,选择 New 并输入值(DEV1、DEV2 等)。确保项目上下文中的配置列是 DEV1,用于 DEV1 配置等。

  2. 创建发布配置文件(构建 -> 发布)。为每个服务器(例如 DEV1 和 DEV2)创建配置文件。在“连接”选项卡中,选择“Web 部署”并输入服务器地址(使用/msdeploy.axd)。此服务器必须安装 web 部署(我使用的是 Web 部署 3.5)。验证您的连接以确保一切都已连接,然后下一步,然后关闭。不要按发布。保存后,将在您的项目中的“属性”>“发布配置文件”下创建一个新文件,名称类似于 DEV1.pubxml。此 XML 文件包含所有需要的信息。

  3. 为转换创建您的 Web 配置文件(右键单击 web.config 并选择添加配置转换)。这将允许您根据您执行的部署类型拥有不同的 Web 配置值。例如,您可以在发布到 PROD 时用不同的值替换连接字符串等。您可以阅读更多关于此的信息 here

  4. 在文本编辑器中打开项目文件(我使用的是 C#,所以我的项目文件是 .csproj)。在此示例中搜索 DEV1。您会看到其中包含 DEV1|AnyCPU 的一行。这将是 PropertyGroup 标记的属性中的一个条件。在其下方,添加一个 PublishProfile 标记。以下是屏幕截图:

Adding reference to the Publish Profile

现在你已经准备好了。我使用了 TFS Build,在 Build 定义文件中您唯一需要记住的是在 Items to Build 下(在 Process 选项卡下)设置正确的配置。

Items to build setting in the build definition in TFS

您无需在 MSBuild Arguments 字段中设置构建目标,因为这些值将从发布配置文件中获取。

现在一切都已准备就绪,您可以运行构建。如果您在构建时遇到问题(给您关于配置不正确的错误),我已经在这里回答了:TFS 2012 Build Definition for web deployment ignores parameters defined in project files

关于c# - Web 部署到 2 个独立的 Web 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com