首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >您是否可以在一个Windows Azure实例上部署多个webapps?

您是否可以在一个Windows Azure实例上部署多个webapps?
EN

Stack Overflow用户
提问于 2010-08-23 01:33:29
回答 5查看 9.7K关注 0票数 20

在一个windows azure小型计算实例中运行一组web应用程序是可能吗?

我正在考虑使用Azure作为一个地方来放置一堆处于开发阶段和非生产阶段的项目(web应用程序)。其中一些实际上是飞虫球,但我希望在某个地方有它们的活动实例。我不想为每个应用程序支付单独的计算时间,这只是90%的时间坐在那里。

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-02 01:09:34

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

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

这里有一个可能会有帮助的链接:http://msdn.microsoft.com/en-us/library/gg433110.aspx

    <?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="SampleAzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="RegisterSite_WebRole">
    <Sites>
      <Site name="RegisterSite" physicalDirectory="..\RegisterSite">
        <Bindings>
          <Binding name="RegisterBinding" endpointName="Endpoint1" hostHeader="register.sample.com" />
        </Bindings>
      </Site>
      <Site name="PublicSite" physicalDirectory="..\PublicSite">
        <Bindings>
          <Binding name="PublicBinding" endpointName="Endpoint2" hostHeader="" />
        </Bindings>
      </Site>
      <Site name="ManageSite" physicalDirectory="..\ManageSite">
        <Bindings>
          <Binding name="ManageBinding" endpointName="Endpoint2" hostHeader="manage.sample.com" />
        </Bindings>
      </Site>
      <Site name="MarketingSite" physicalDirectory="..\MarketingSite">
        <Bindings>
          <Binding name="MarketingBinding" endpointName="Endpoint2"  hostHeader="www.sample.com" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="https" port="443" certificate="SampleReg" />
      <InputEndpoint name="Endpoint2" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
    <Certificates>
      <Certificate name="SampleReg" storeLocation="LocalMachine" storeName="My" />
    </Certificates>
  </WebRole>
</ServiceDefinition>
票数 18
EN

Stack Overflow用户

发布于 2010-08-23 06:06:35

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

所以对你的问题的简单回答是不,在这个时候。

现在,考虑到该平台的所有功能,您可以想出一些创造性的方法来提供这种沙箱。使用服务管理API,您可以将部署放在Azure存储中,并在请求角色时将其联机,然后在不再需要它们时将其关闭(“删除部署”)。当交换矩阵使虚拟机在线时,部署会有一些延迟。但根据用例的不同,这可能会为您带来一些重大的节省。

票数 3
EN

Stack Overflow用户

发布于 2010-08-26 00:27:43

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

如果你的web应用相当简单或者仅仅是aspx生成的html页面,这可能并不太难--将每个应用放在它自己的URL子目录中,以保持页面名称与其他应用的分离。由于同一个应用程序中的页面之间的链接通常是相对于主目录的,所以这应该不会让你的链接太麻烦。您可以使用url路径访问每个“子应用程序”:http://mydomain.com/app1/default.htmlhttp://mydomain.com/app2/...等。

当每个web应用程序的复杂度增加时,你会看到收益递减。将多个复杂的应用程序硬塞到一个通用的主应用程序中将会更加困难。

但是对于实验和概念类型工作的证明,一旦你启动了主应用程序模式,在未来的工作中保持它应该是相当容易的。您将使用您的Azure web角色实例作为作品组合,而不是一次性的便签簿,无论最新的实验是什么。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3542518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档