(四)搭建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. 几个有趣的WEB设备API 前端提高B格必备(一)——电池状态&震动api

    受到同事启发,突然发现了几个有趣又实用的web api,没想到前端还有这么多有趣的东西可以玩~~简直过分. 1.电池状态API navigator.getBattery():这个api返回的是一个pr ...

  2. java设计模式之--单例模式

    前言:最近看完<java多线程编程核心技术>一书后,对第六章的单例模式和多线程这章颇有兴趣,我知道我看完书还是记不住多少的,写篇博客记录自己所学的只是还是很有必要的,学习贵在坚持. 单例模 ...

  3. bzoj3932--可持久化线段树

    题目大意: 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第 ...

  4. PHP设计模式(八)桥接模式(Bridge For PHP)

    一.概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果. 二.案例 1.模拟毛笔(转) 需求:现在需要准备三种粗细(大中小),并且有五种颜色的比 如果使用蜡 ...

  5. GSD_WeiXin(高仿微信)应用源码

    高仿微信计划:已经实现功能 1.微信首页(cell侧滑编辑.下拉眼睛动画.下拉拍短视频.点击进入聊天详情界面) 2.通讯录(联系人字母排序.搜索界面) 3.发现(朋友圈) 4.我(界面) 待实现功能( ...

  6. git 命令总结

    1 删除分支 git push origin :branch name(Task_******) //删除远程分支 git branch -D branch name(Task_******)     ...

  7. centos6和centos7防火墙的关闭

    CentOS6.5查看防火墙的状态: [zh@localhost ~]$service iptable status 显示结果: [zh@localhost ~]$service iptable st ...

  8. 免费SSL证书 之Let’s Encrypt申请与部署(Windows Nginx)

    我着着皇帝的新衣,但是你看不见    有一颗愿意等待的心,说明你对未来充满希望.有一颗充满希望的心,那么等待又算什么.人就是在等待与希望中度过,我们永远要对未来充满信心! 读在最前面: 1.本文案例为 ...

  9. MEF学习

    一.   什么是MEF MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩 ...

  10. 【腾讯Bugly干货分享】基于RxJava的一种MVP实现

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bfef673c1174283d60bac0 Dev Club 是一个交流移动 ...