您可以在一个Windows Azure实例上部署多个Web应用程序吗?

有可能在一个windows azure小型计算实例中运行一堆Web应用程序吗?

我正在寻找使用Azure作为一个地方坐在一堆开发和非生产准备的项目(Web应用程序)。 有些实际上是蛾子,但我想在某个地方有一个活跃的实例。 我不想为每个应用程序支付单独的计算时间,这只是90%的时间。

我正在考虑另一个选项来获得这些项目的共享主机帐户。

是的,现在可以使用2010年末发布的最新Azure平台更新。

您必须在Azure项目的服务定义文件中进行适当的配置更改。 以下是同一域中多个站点的示例。 注册站点使用https端点(您还必须配置您的证书),其余的使用http。 公共站点未指定主机标头,并将捕获未指定明确的任何内容。 当您有一个需要处理多个子域的应用程序(如shopify)时,这非常棒。 为了完成这项工作,你需要一个允许使用通配符cnames的dns(GoDaddy dns不支持)。 显然,您还需要一个cname记录,指向其他每个子域的azure。 此示例中需要注意的另一件事是应用程序的physicalDirectory是相对于Azure项目的。 希望这可以帮助!

这是一个可能有用的链接: http : //msdn.microsoft.com/en-us/library/gg433110.aspx

                                     

这取决于Windows Azure实例的含义。

单个Azure帐户可以容纳多个服务和部署。 部署(在撰写本文时)可以包含多个工作者和Web角色(主要是项目)。

可以在多个部署实例中部署单个Web角色。

鉴于此,您可以轻松地在单个Windows Azure帐户或甚至单个部署中托管多个Web应用程序

如果您对降低成本和在单个Web角色实例下保留多个测试Web应用程序感兴趣,那么它将变得棘手 – 您需要将它们组合到一个项目中并立即部署。

注意:最后一个场景可能会很快看到大幅改进,因此Windows Azure是一个相当安全的选择。

Azure处于当前状态(2010年8月),每个VM实例仅运行一个应用程序(“服务”,“角色”)。

所以现在问题的简单答案是否定的。

现在,考虑到平台的所有function,您可以提出一些创造性的方法来提供这种沙箱。 使用Service Management API,您可以让部署位于Azure存储中,并在请求时将角色置于联机状态,然后在不再需要时将其关闭(“删除部署”)。 由于结构使VM在线,因此部署会有一些延迟..但根据用例,这可能会为您带来一些重大节省。

在一个Azure实例中运行多个Web应用程序的唯一方法是将多个应用程序组合到一个WebRole项目中。 Azure每个Web角色实例需要一个Web应用程序。

如果您的网络应用程序相当简单或只是aspx生成的html页面,这可能不会太难 – 将每个应用程序放在其自己的URL子目录中,以使页面名称与其他应用程序分开。 由于同一个应用程序中的页面之间的链接通常与主目录相关,因此不应过多地扰乱链接。 您可以使用url路径访问每个“子应用”: http://mydomain.com/app2/...等。

随着每个Web应用程序的复杂性增加,您将看到收益递减。 将多个复杂的应用程序变成一个普通的主应用程序会更加困难。

但是对于实验和概念certificate类型的工作,一旦你启动主应用程序模式,它应该很容易保持它未来的工作。 您将使用Azure Web角色实例作为工作组合,而不是用于最新实验的一次性暂存器。

基本上,每个角色只限一个应用程序。

不确定这是否会发生变化,因为Windows Azure以这种方式托管背后的原因。

从阅读您的问题来看,这听起来像云目前可能不适合您。 特别是如果你有“90%”没有使用的东西。 这是一个浪费的过程时间,让一个角色闲置,同时支付$$。

我的建议是使用共享托管或其他东西,直到该站点需要更高的正常运行时间,可伸缩性和其他类似的云function。

Azure可能不是这个用例的最佳选择 – 一个VM只允许一个应用程序,所有其他选项实现起来有些复杂(比如在一个Web角色中有多个应用程序或按需部署和拆除 – 还要注意Azure收费时钟小时,所以我不确定如果你提起一个实例,将其关闭然后在一小时内再次启动会发生什么。

另外一个云提供商,比如rackspace或亚马逊可能会更好,您可以像在普通服务器上一样创建Windows VM并在IIS上托管您的应用程序。 在这种情况下,唯一的优势是更容易配置该服务器而无需基础架构管理(尽管与Azure不同,您仍然需要管理操作系统和其他依赖项)。