微软云计算一个WebRole中可以支持多个站点
使用了微软云计算后,为了保证MindV在线思维导图服务的质量,开了多个实例。目前的用户水平足够了。
但是公司业务的发展,需要增加新的网站。两年多来,云计算在线服务品质有目共睹,用户多次反映MindV在线服务可以与国际大品牌在线服务相媲美,甚至超越。所以希望新的网站也是基于云计算平台。但增加一个新网站至少一个实例,那一年的费用也是1万块呀。但新的网站业务量较小,开一个单独的实例又太浪费。因此咨询了微软云计算的支持小组梁琦先生。他告诉我一个好的消息,Windows azure 1.3以后其实WebRole已经可以支持多个网站了。http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx 这里有详细的资料。
按照MSDN中的说明下载了例子,但是总有些问题,在调试环境运行不起来。于是对例子稍作改变,新的站点采用单独的端口(因为我的这个网站不需要对外公开)。
方法是,工程中添加新的Asp.net Project WebRole2,然后修改ServiceDefinition.csdef如下既可以了。
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzureProject1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
<Site name="Web2" physicalDirectory="..\webrole2">
<Bindings>
<Binding name="Endpoint2" endpointName="Endpoint2" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
<InputEndpoint name="Endpoint2" protocol="http" port="88" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
</ServiceDefinition>
有了这个功能,可以多创建几个网站了,充分利用云计算的潜力了。
本文例子下载地址 http://vdisk.weibo.com/s/ae5wM