繁体   English   中英

Web部署到2个单独的Web服务器?

[英]Web Deploy to 2 separate web servers?

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

我知道Web Farm Framework,这是一个选择,但是我不喜欢控制器服务器是链中最薄弱的链接的想法。 我想我宁愿只使用硬件负载平衡器来引导流量。

是否可以编写手动Web Deploy脚本,使其每次运行时都针对2个单独的服务器?

这是我使用TFS的方法:

  1. 创建您的解决方案配置。 选择构建->配置管理器。 在活动解决方案配置下拉菜单下,选择新建,然后输入值(DEV1,DEV2等)。 确保“项目”上下文中的“配置”列是用于DEV1配置的DEV1,等等。

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

  3. 创建用于转换的Web配置文件(右键单击web.config并选择“添加配置转换”)。 这将使您可以根据执行的部署类型使用不同的Web配置值。 例如,您可以在发布到PROD时替换连接字符串的其他值,等等。您可以在此处了解更多信息

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

添加对发布配置文件的引用

现在设置好了。 我使用了TFS Build,并且在Build定义文件中唯一要记住的是在要构建的Items下(在Process选项卡下)设置正确的配置。

TFS的构建定义中的构建项目设置

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

现在一切都已设置好,可以运行构建了。 如果您在构建时遇到问题(给您有关配置不正确的错误),我已经在这里回答了: 用于Web部署的TFS 2012构建定义会忽略项目文件中定义的参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM