(四)搭建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="[email protected]" $wapLabSubNet="sitesubnet" ? $cloudServiceName $affinityGroupName $admin="vmadmin" $pwd ? $sizeLarge $sizeMedium $sizeSmall ? #domain $domainName="waplab" $domainJoin="waplab.com" $domainAdmin="domainadmin" $domainAdminPwd="[Your Password]" $domainOU="OU=AzureVMs,DC=waplab,DC=com" ? ? $vmName ? $vmsitecn1 $vmsitecn1 $vmsitecn1 -DomainUserName -MachineObjectOU #$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd $vmsitecn1 ? ? ? $vmName ? $vmsitemn1 $vmsitemn1 $vmsitemn1 -DomainUserName -MachineObjectOU #$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd $vmsitemn1 ? ? ? $vmName ? $vmsitefs1 $vmsitefs1 $vmsitefs1 -DomainUserName -MachineObjectOU #$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd $vmsitefs1 ? ? ? $vmName ? $vmsitefe1 $vmsitefe1 $vmsitefe1 -DomainUserName -MachineObjectOU #$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd $vmsitefe1 ? ? ? $vmName ? $vmsiteps1 $vmsiteps1 $vmsiteps1 -DomainUserName -MachineObjectOU #$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd $vmsiteps1 ? ? $vmName ? $vmsitewwS1 $vmsitewwS1 $vmsitewwS1 -DomainUserName -MachineObjectOU $vmsitewwS1 ? ########################################################################## ### 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多分钟,安装完成。
然后进行配置:
- Controller Type : Primary
- File Server Type: standalone (如果需要使用更好的文件服务,可以使用预配置的方式,请参考MSDN相关文章)
- 设置数据库,并指定数据库名称的前缀;本例使用的是2.1安装的SQL Server。
完成后, 在数据库浏览窗口中可以看到2个数据库:
?
- 设置站点的默认DNS后缀:
本例设为 waplab.com。
在前面的DNS解析中, 我们已经将*.waplab.com泛域名做了解析。
- 设置System Credentials,本例中默认使用的是vmadmin账号及相关密码。其中有个是Website Cloud的账号 cloudadmin, 在后面注册Website Cloud的时候会使用到。
- 添加文件服务器wapsitefs和管理服务器wapsitemn
如果出现如下错误提示:
需要在相关服务器的管理工具中设置允许远程管理:
也可以使用命令行来实现
- 安装完成后, 可以打开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
?