Windows Azure下Apache服务可用性集配置介绍

Azure现在不是一个什么新鲜话题了,但可以说Azure的功能还在逐渐增加,包括性能上的优化,具体就不多介绍了,近期呢闲着没事,就尝试在Azure上部署Apache服务的高可用性部署,如果在本地部署Apache服务的高可用性的话,会用到LVS+Keepalived等服务来实现Apache的高可用性配置,如果我们将Apache服务部署到windows azure上的话,就省去了LVS+Keepalived的配置,所以相对比较简单一点。在Azure上部署高可用性配置的基本原理为,将多台VM配置到同一个云服务下(一个云服务代表一个公网IP),然后配置相应的终结点高可用性和负载平衡器就可以实现了,Apache和Nginx的配置一样,具体见下:

环境介绍:

Hostname:Webserver01.iternalsoft.com

IP:10.10.1.20

Role:Apache Server

Hostname:Webserver02.iternalsoft.com

IP:10.10.1.21

Role:Apache Server

Cloud Service:Iternal

我们选择从库中选择Centos7

Windows Azure下Apache服务可用性集配置介绍_第1张图片虚拟机的hostnameWebserver01

Windows Azure下Apache服务可用性集配置介绍_第2张图片选择已经存在的云服务即可;可根据自己的环境来进行配置

Windows Azure下Apache服务可用性集配置介绍_第3张图片开始创建vm

Windows Azure下Apache服务可用性集配置介绍_第4张图片创建完成

Windows Azure下Apache服务可用性集配置介绍_第5张图片查看配置

Windows Azure下Apache服务可用性集配置介绍_第6张图片然后我们按照以上的方法进行部署第二台服务器。

Windows Azure下Apache服务可用性集配置介绍_第7张图片

 在此我们需要注意,我们需要将该VM和上面的VM放在同一个云服务下可实现高可用性

Windows Azure下Apache服务可用性集配置介绍_第8张图片配置完成

Windows Azure下Apache服务可用性集配置介绍_第9张图片接下来我们查看网络配置信息,两台VM使用的是同一个网络信息

Windows Azure下Apache服务可用性集配置介绍_第10张图片然后我们在同一云服务下运行两台vm

Windows Azure下Apache服务可用性集配置介绍_第11张图片

接下来就是开始配置可用性集了

我们单击进入服务器配置----配置---可用性集合

Windows Azure下Apache服务可用性集配置介绍_第12张图片选择创建可用性集,然后定义可用性集名称

Windows Azure下Apache服务可用性集配置介绍_第13张图片配置完成

Windows Azure下Apache服务可用性集配置介绍_第14张图片

接着我们同样将webserver02加入到该可用性集即可

我们选择-刚才新建的可用性集合--保存即可加入到可用性集合中

Windows Azure下Apache服务可用性集配置介绍_第15张图片可用性集合部署配置完成

Windows Azure下Apache服务可用性集配置介绍_第16张图片

可用性配置完成后,我们接下来配置开发端口了-----终端

单击vm---终端店---添加

Windows Azure下Apache服务可用性集配置介绍_第17张图片首先添加独立的终结点

Windows Azure下Apache服务可用性集配置介绍_第18张图片

在此我们需要选择需要开发的端口--终结点---HTTP

注:需要勾选创建负载均衡节点

Windows Azure下Apache服务可用性集配置介绍_第19张图片定义负载均衡名

Windows Azure下Apache服务可用性集配置介绍_第20张图片终结点负载均衡创建完成

Windows Azure下Apache服务可用性集配置介绍_第21张图片我们按照同样的方法需要创建HTTPS负载均衡服务

Windows Azure下Apache服务可用性集配置介绍_第22张图片

我们所需服务的对应的端口已经创建了负载平衡集

HTTPS   443

HTTP     80

Windows Azure下Apache服务可用性集配置介绍_第23张图片接下来就是配置webserver02了,我们需要按照同样的方法操作,唯一区别就是webserver02只需要添加到刚才新建的负载平衡集合中即可

Windows Azure下Apache服务可用性集配置介绍_第24张图片我们选择将中街店添加到现有的负载平衡集中Windows Azure下Apache服务可用性集配置介绍_第25张图片终结点负载平衡添加完成

Windows Azure下Apache服务可用性集配置介绍_第26张图片我们按照同样的方法将HTTPS也添加到已存在的负载平衡集中

Windows Azure下Apache服务可用性集配置介绍_第27张图片添加完成

Windows Azure下Apache服务可用性集配置介绍_第28张图片我们可以查看云服务状态

Windows Azure下Apache服务可用性集配置介绍_第29张图片

接下来我们就使用xshell连接到两台服务器上开始安装及配置服务

连接前我们需要确认的是,如果从外部ssh的话需要确认端口,因为两台vm使用的是同一个云服务,ssh的默认端口是22,所以我们需要确认端口信息

Webserver01的外网ssh端口为22

Windows Azure下Apache服务可用性集配置介绍_第30张图片Webserver02ssh外网端口为51658

Windows Azure下Apache服务可用性集配置介绍_第31张图片通过以上信息,我们就可以ssh登录了

Windows Azure下Apache服务可用性集配置介绍_第32张图片

登录的第一件事是我们需要启用root管理员,因为默认azure是没有启用root的,所以我们需要启用root管理员信息

Sudo -su root

输入gavin默认账户的信息进行确认

Windows Azure下Apache服务可用性集配置介绍_第33张图片

然后我们passwd root 修改root的密码进行启用

Passwd root
New pwd

Windows Azure下Apache服务可用性集配置介绍_第34张图片

root登录后,我们接下来就是修改计算机名了

Hostnamectl  
set-hostname  web-server01

关闭防火墙

Systemctl stop firewalld
Systemctl disable firewalld

Windows Azure下Apache服务可用性集配置介绍_第35张图片

关闭性能调试

Vim /etc/selinux/config

Windows Azure下Apache服务可用性集配置介绍_第36张图片

如果需要以上服务生效的话我们需要重启系统

Reboot

Windows Azure下Apache服务可用性集配置介绍_第37张图片接着我们按照以上方法需要修改webserver02的相关信息

Windows Azure下Apache服务可用性集配置介绍_第38张图片

接下来就是安装apache服务了

Yum install -y httpd

Windows Azure下Apache服务可用性集配置介绍_第39张图片

安装完成后,可以通过rpm查看httpd的版本,我们查看到已安装的是httpd-2.4.6-31

rpm -qa | grep httpd

wKiom1ZC6L-whVpKAAAn9gZ4cT4514.png

我们首先是备份httpd.conf的文件,因为我们需要修改httpd.conf的文件,所以建议操作前备份一下

Cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

Windows Azure下Apache服务可用性集配置介绍_第40张图片

Ls /etc/httpd/conf/

wKiom1ZC6PHQGvquAAASxTLfrt0797.png

启动httpd服务
Systemctl start httpd
Netstat -anlpt

Windows Azure下Apache服务可用性集配置介绍_第41张图片接下来我们就尝试访问web服务

Windows Azure下Apache服务可用性集配置介绍_第42张图片

接下来为了更好的演示页面,所以我们修改默认页面内容:

我们都知道apache默认的访问页面在

/etc/httpd/conf.d/welcome.conf

Windows Azure下Apache服务可用性集配置介绍_第43张图片

接下来我们创建一个默认的index.html文件来定义显示内容

Cd /var/www/html

wKioL1ZC6cbiMx3YAAAU7JVxNns435.png该默认路径没有index.html文件,所以我们要创建一个,然后编辑内容

vim index.html

Windows Azure下Apache服务可用性集配置介绍_第44张图片

保存后,我们重启httpd服务,继续访问

Systemctl restart httpd

wKiom1ZC6cOTztKkAAAQNcuvZns962.png

继续访问测试,结果是可以的

Windows Azure下Apache服务可用性集配置介绍_第45张图片

接着我们开始配置webserver02的以上信息

我们yum install -y httpd

Windows Azure下Apache服务可用性集配置介绍_第46张图片

然后我们在server01上运行scpindex.html文件拷贝到server02

scp/var/www/html/index.html 10.10.10.5:/var/www/html/index.html

Windows Azure下Apache服务可用性集配置介绍_第47张图片接下来我们在webserver02上修改显示信息

Windows Azure下Apache服务可用性集配置介绍_第48张图片

保存后,我们就重启服务

Systemctl restart httpd

Windows Azure下Apache服务可用性集配置介绍_第49张图片接着来我们测试高可用性

Windows Azure下Apache服务可用性集配置介绍_第50张图片

接下来我们进行两次高可用测试

首先我们在server01上停止httpd服务,然后尝试访问

Windows Azure下Apache服务可用性集配置介绍_第51张图片继续访问呢;

由于server01httpd停止,所以会访问server02的信息

Windows Azure下Apache服务可用性集配置介绍_第52张图片现在我们将server01httpd启用,然后将server02httpd停止

Windows Azure下Apache服务可用性集配置介绍_第53张图片

继续访问测试;会跳转到server01的配置页面

Windows Azure下Apache服务可用性集配置介绍_第54张图片

在此windowsazure下的高可用配置介绍完成,

最后我们再说说azure上可以实现对可用性服务的缩放服务,所谓的缩放服务就是对高可用群集服务进行停机维护,当服务在满负载的情况下会运行,服务不高的时候会自动停机来节省费用

因为在windows azure上定义高可用性集就是所谓的多台vm对应一个云服务,所以我们配置缩放需要在云服务下进行配置

单击云服务----缩放

Windows Azure下Apache服务可用性集配置介绍_第55张图片

我们可以看见缩放可以根据:CPU、队列进行缩放配置;当然我们也可以通过时间段进行缩放配置呢:

1.如果根据时间进行缩放的话,可以定义一个时间段对某个服务进行停机,然后经过定义的时间段会自动启动

Windows Azure下Apache服务可用性集配置介绍_第56张图片2.通过CPU定义的话,如果CPU超过定义值,服务器具会自动启动

Windows Azure下Apache服务可用性集配置介绍_第57张图片

3.通过队列进行定义,如果队列超过了指定的值,服务器也会自动启动

Windows Azure下Apache服务可用性集配置介绍_第58张图片

 如果需要配置Apache SSL的话我们可以参考一下文档

http://gaowenlong.blog.51cto.com/451336/1671672