.net – Web角色和云服务的多站点策略
我们有3个面向公众的Web应用程序,我们正在迁移到Azure.所有站点都使用端口80.
OPTIONS 据我所知,使用Web角色时有三种不同的选择: 1.在单个云服务中以一个Web角色托管的所有3个站点: >可以通过ServiceDefinition.csdef中的hostHeader配置HTTP访问 2.在单个云服务中托管在SEPARATE Web角色上的每个站点: >可以通过ServiceDefinition.csdef中的hostHeader配置HTTP访问 3.每个站点托管在SEPARATE云服务中的Web角色上: >每个站点都有自己的cloudapp.net DNS和IP 我还缺少其他重要的东西吗? 可能的解决方案 选项1和2的组合. 在一个云服务中托管所有内容:将它们全部发布在一起很好,因为它们都引用了一个需要在所有项目中一致更新的公共库项目. 在一个Web角色中托管两个站点:它们可以很好地扩展. 在其自己的Web角色中托管第三个站点由于大量的峰值需求,将需要自己的扩展. ServiceDefinition.csdef中: <ServiceDefinition name="WebTestCloudService.Test" xmlns="..." schemaVersion="2012-10.1.8"> <WebRole name="AzureWebTest1" vmsize="Small"> <Sites> <Site name="AzureWebTest1"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test1.mydomain.com" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" /> </Endpoints> </WebRole> <WebRole name="AzureWebTest2" vmsize="Small"> <Sites> <Site name="AzureWebTest2"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test2.mydomain.com" /> </Bindings> </Site> <Site name="AzureWebTest3" physicalDirectory="..AzureWebTest4"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="test3.mydomain.com" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" /> </Endpoints> </WebRole> </ServiceDefinition> 请确认我在正确的轨道上?任何输入将不胜感激. 解决方法
听起来你走在正确的轨道上.几点澄清:
>请记住,在同一部署中定义要在单独的Web角色中运行的站点时,每个Web角色都需要单独的端口号.如果您希望所有站点都在端口80上,则需要选项#1或#3>在单个部署中,当您需要一次发布所有角色代码时,您可以选择更新特定角色而不是所有角色.>您还可以查看与部署无关的部署Web代码的替代技术,例如将您的网站存储在blob中,然后根据需要下载/解压缩/安装网站,而无需重新部署.>您还可以将所有静态内容保存在blob存储中,并在零重新部署的情况下随时更新这些对象. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |