1

我希望在我的 Azure 云服务上设置两个 Web 角色或网站。

这些网站需要共享相同的数据库模式。我使用 NHibernate ORM,所以我必须确保两个项目始终使用相同的数据模型,否则会导致重大问题。

我研究过在单个 Web 角色上设置多个网站(这对我来说似乎很奇怪,我不能只运行多个 Web 角色,每个角色都有一个站点)吗?

http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx

像任何优秀的开发人员一样,我使用登台服务器。如果我必须手动设置域名是配置文件,azure 怎么会知道不将访问该域的人发送到临时服务器?!IE 如果他们访问 blah.foo.com 并且我有两个部署(暂存和生产),那么 IIS 是否只能将人们发送到生产环境?

请就执行此操作的最佳方法提出建议。

4

1 回答 1

3

首先,您当然可以拥有多个 Web 角色,每个角色都有一个站点;但是,每个角色实例都将部署到不同的虚拟机上。例如,如果您在部署时设置了两个 Web 角色,每个角色都有一个实例,那么您将需要为两台虚拟机付费。如果您希望 SLA 应用于您的部署,您需要将每个 Web 角色的实例计数实际设置为 2,这意味着您现在有四个虚拟机在运行。通过将网站组合到同一个 Web 角色上,您将减少需要运行的实例数量并仍然获得 SLA;然而,这种选择并非没有一些考虑。您提供的链接是如何设置多个网站以在部署时在同一虚拟机上运行。请注意,使用该方法存在一些问题。一世'在 Web 角色中发布多个站点的提示

其次,如果您不需要对虚拟机进行大量控制(例如注册特殊组件等),您可能希望将 Windows Azure 网站作为一个选项。您可以选择采用付费级别的网站之一,并且仍然拥有专用机器,但您可以单独部署网站。不过,我会说,由于它们共享底层数据库模式,您需要使两个站点处于同步状态,这意味着您不太可能想要部署单独的更改,但它仍然是可能的。

最后,关于登台服务器。如果您在本地进行测试,您需要修改主机文件以使主机名指向您的本地地址。Wade Wegner 有一篇关于以 Windows Azure Web 角色运行多个网站的帖子。部署到 Windows Azure 后,您可能希望将主机文件改回来,或将它们注释掉。如果您使用的是 Staging 部署槽的实际想法,您可以在测试时使用与 hosts 文件相同的技巧来指向 staging 部署的 IP 地址。

于 2013-09-15T14:37:32.827 回答