(四)搭建Website Cloud环境

1安装CONTROLLER主机

在开始安装Web site Cloud之前,读者应该对该服务的拓扑结构有个大概了解。

如图:

Controller是非常重要的一个角色, 它将用来完成其他角色的安装。 Controller可以在线装,也可以脱线安装。 本例中使用的是在线安装,关于脱线安装请参考MSDN相关文章。

由于Controller在配置的时候必须要指定文件服务器和管理服务器,所以在主机安装过程中,一最好一并装好。

Front End Server, Publish Server 以及Web Worker Role Server 也可以一并安装

安装主机的Power Shell VM Provisioning Script如下:

# Create Wap web site farm

 

$imgName="vmInit0"

$vnetName="waplab@sea2016"
# @SouthEast Asia

$wapLabSubNet="sitesubnet"
#{ctrl, wapsubnet, sitesubnet, reservedsubnet}

 

$cloudServiceName
=
"wapLabCloudService2016Feb"

$affinityGroupName
=
"southeastAsiaGroup"

$admin="vmadmin"

$pwd
=
"[Your Password]"

 

$sizeLarge
=
"Large"
#

$sizeMedium
=
"Medium"

$sizeSmall
=
"Small"

 

#domain

$domainName="waplab"

$domainJoin="waplab.com"
# Please ensure DNS is working fine!

$domainAdmin="domainadmin"

$domainAdminPwd="[Your Password]"

$domainOU="OU=AzureVMs,DC=waplab,DC=com"
#指定OU

 

 

$vmName
=
"wapsitecn1"

 

$vmsitecn1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeMedium
-ImageName
$imgName

$vmsitecn1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsitecn1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitecn1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

 

 

$vmName
=
"wapsitemn1"

 

$vmsitemn1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeMedium
-ImageName
$imgName

$vmsitemn1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsitemn1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitemn1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

 

 

$vmName
=
"wapsitefs1"

 

$vmsitefs1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeSmall
-ImageName
$imgName

$vmsitefs1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsitefs1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitefs1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

 

 

$vmName
=
"wapsitefe1"

 

$vmsitefe1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeSmall
-ImageName
$imgName

$vmsitefe1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsitefe1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitefe1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

 

 

$vmName
=
"wapsiteps1"

 

$vmsiteps1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeSmall
-ImageName
$imgName

$vmsiteps1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsiteps1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsiteps1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

 

$vmName
=
"wapsitewwS1"

 

$vmsitewwS1
=
New-AzureVMConfig
-Name
$vmName
-InstanceSize
$sizeSmall
-ImageName
$imgName

$vmsitewwS1
|
Set-AzureSubnet
-SubnetNames
$wapLabSubNet

$vmsitewwS1
|
Add-AzureProvisioningConfig
-WindowsDomain
-AdminUsername
$admin
-Password
$pwd
-Domain
$domainName `

-DomainUserName
$domainAdmin
-DomainPassword
$domainAdminPwd
-JoinDomain
$domainJoin `

-MachineObjectOU
$domainOU

$vmsitewwS1
|
New-AzureVM
-ServiceName
$cloudServiceName
-AffinityGroup
$affinityGroupName
-vNetName
$vnetName

 

##########################################################################

### EXTENSIONS

###########################################################################

## $vmName = "wapsitewwS2"

##

## $vmsitewwS2 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

## $vmsitewwS2 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwS2 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwS2 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

##

## $vmName = "wapsitewwR1"

##

## $vmsitewwR1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

## $vmsitewwR1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

##

## $vmName = "wapsitewwR2"

##

## $vmsitewwR2 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

## $vmsitewwR2 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR2 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR2 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

## $vmName = "wapsitewwR3"

##

## $vmsitewwR3 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeLarge -ImageName $imgName

## $vmsitewwR3 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR3 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR3 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

 

 

2安装Management Server主机

参加上述步骤,$vmName
="wapsitemn1"

3安装File Server主机

参加上述步骤,$vmName
=
"wapsitefs1"

 

4安装Front End Server主机

参加上述步骤,$vmName
="wapsitefe1"

5安装Publish Server主机

参加上述步骤,$vmName
="wapsiteps1"

6安装Web Worker Server主机

参加上述步骤, $vmName
=
"wapsitewwS1"

 

7安装Controller相关程序

主机安装好后,远程桌面登陆, 使用Windows Platform Installer安装Controller角色的程序:

本例使用的是Websites V2 Update 7版本。后面可能随时会有新的版本发布,安装过程应该类似。

下载完成后, 启动安装

本例使用的是Install Locally下的Install Websites Controller。大概需要20多分钟,安装完成。

然后进行配置:

  1. Controller Type : Primary
  2. File Server Type: standalone (如果需要使用更好的文件服务,可以使用预配置的方式,请参考MSDN相关文章)
  3. 设置数据库,并指定数据库名称的前缀;本例使用的是2.1安装的SQL Server。

完成后, 在数据库浏览窗口中可以看到2个数据库:

 

  1. 设置站点的默认DNS后缀:

本例设为 waplab.com。

在前面的DNS解析中, 我们已经将*.waplab.com泛域名做了解析。

  1. 设置System Credentials,本例中默认使用的是vmadmin账号及相关密码。其中有个是Website Cloud的账号 cloudadmin, 在后面注册Website Cloud的时候会使用到。
  2. 添加文件服务器wapsitefs和管理服务器wapsitemn

如果出现如下错误提示:

需要在相关服务器的管理工具中设置允许远程管理:

也可以使用命令行来实现

  1. 安装完成后, 可以打开Website Management Console(桌面可以找到快捷方式),并启动Web Farm Controller Service.

观察Farm中各服务器的状态

待状态都是Ready的时候, 就可以在前面WAP Admin Portal中注册这个Website Cloud了。如果没有Ready,注册会失败。注册过程,请参考后文中的描述。

 

8配置Controller,添加各个Role的Server

添加Front End Role,Publish Role 或者Web worker Role 都即可以在Admin Portal上完成,也可以在Website Cloud Console中完成。本例中使用的是后者。

添加Front End

 

添加Publisher

添加Web worker,并指定Mode
为Shared, Size为Small

 

将来如果添加了多个Web worker, Mode和Size是可以由Tenant来选择使用的。

在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(四)的更多相关文章

  1. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

  2. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)

    前言 (二)建立虚拟网络环境,以及域控和DNS服务器   1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...

  3. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(三)

    (三) 搭建Windows Azure Pack环境 1安装SQL SERVER 2012 服务器 为简单起见,本例直接使用了Azure提供的具有SQLServer的Win2012 Server镜像来 ...

  4. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(六)

    (六)在Website Cloud中添加site 1新建Website,并打开 使用前面创建的用户 newbee@waplab.com 登录租户Portal,新建一个website 新建完成后, 可以 ...

  5. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(五)

    (五)注册Website Cloud 1 注册Website Cloud 添加Website Cloud   连接Website Cloud 注意, endpoint 是使用Management Se ...

  6. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  7. 在Azure上部署IPv6的App通过IOS App Store审核

    随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...

  8. Azure上部署FTP服务

    FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在 ...

  9. Azure上部署Barracuda WAF集群 --- 2

    前面一篇文章讲了如何在Azure上部署Barracuda.这篇文章聊一聊如何配置Barracuda. License 向Barracuda的销售人员申请WAF的License.得到License后打开 ...

随机推荐

  1. spring源码分析之@ImportSelector、@Import、ImportResource工作原理分析

    1. @importSelector定义: /** * Interface to be implemented by types that determine which @{@link Config ...

  2. 玩转spring boot——结合AngularJs和JDBC

    参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...

  3. git-2.10.2-64-bit介绍&&git下载&&git安装教程

    Git介绍 分布式:Git系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具. 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态:可以在该保存点将 ...

  4. 前端性能优化的另一种方式——HTTP2.0

    最近在读一本书叫<web性能权威指南>谷歌公司高性能团队核心成员的权威之作. 一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2 ...

  5. ASP.NET Core 中文文档 第五章 测试(5.2)集成测试

    原文: Integration Testing 作者: Steve Smith 翻译: 王健 校对: 孟帅洋(书缘) 集成测试确保应用程序的组件组装在一起时正常工作. ASP.NET Core支持使用 ...

  6. ES6之变量常量字符串数值

    ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...

  7. 深入理解DOM节点操作

    × 目录 [1]创建节点 [2]插入节点 [3]移除节点[4]替换节点[5]复制节点 前面的话 一般地,提起操作会想到“增删改查”这四个字,而DOM节点操作也类似地对应于此,接下来将详细介绍DOM的节 ...

  8. Android 指纹认证

    安卓指纹认证使用智能手机触摸传感器对用户进行身份验证.Android Marshmallow(棉花糖)提供了一套API,使用户很容易使用触摸传感器.在Android Marshmallow之前访问触摸 ...

  9. centos 6 安装配置openvpn

    下载地址:http://swupdate.openvpn.org/community/releases/http://www.oberhumer.com/opensource/lzo/download ...

  10. 支付宝web支付

    过程 1. 用户下单 2. 商户后台产生订单 3. 请求支付宝web支付页面(将订单信息返回给用户---放在form里面---隐藏起来-----并通过脚本自动提交此form到支付宝web支付页) 4. ...