例题:首先看这一幅图:

例题解析web服务负载均衡

 

说明环境:有两台web服务器web1、web2以及一台安装有mysql数据库和DNS的服务器,服务器2上安装有discuz论坛,其中discuz要调用mysql数据库,web1要通过nfs来挂载web2的discuz的论坛,使客户端访问www.aaa.com的时候两台服务器上的页面时一样的,即可以使两台服务器轮询,以达到负载均衡的效果。

下面来进行配置:

一、安装mysql,配置DNS服务器

首先确保你的开发包组“   Administration Tools、Development Libraries、X Software Development”已经安装好了。

命令:yum grouplist -y "group_name"

安装提供mysql服务和DNS服务的工具:


  1. yum install -y mysql-server mysql-devel bind97 bind97-libs bind97-utils 

配置DNS服务:


  1. vim /etc/named.conf 
  2.  
  3. options { 
  4.  
  5.         directory "/var/named"; 
  6.  
  7. }; 
  8.  
  9.  
  10.  
  11. zone "." IN { 
  12.  
  13.         type hint; 
  14.  
  15.         file "named.ca"; 
  16.  
  17. }; 
  18.  
  19.  
  20.  
  21. zone "aaa.com" IN { 
  22.  
  23.         type master; 
  24.  
  25.         file "aaa.com.zone"; 
  26.  
  27. }; 

配置相应的区域文件:


  1. cd /etc/named 
  2.  
  3. vim aaa.com.zone 
  4.  
  5. $TTL 600 
  6.  
  7. $ORIGIN aaa.com. 
  8.  
  9. @       IN              SOA     ns.aaa.com.     admin.aaa.com. ( 
  10.  
  11.                 2012111001 
  12.  
  13.                 12H  
  14.  
  15.                 1H   
  16.  
  17.                 7D   
  18.  
  19.                 1D ) 
  20.  
  21.         IN              NS      ns   
  22.  
  23. ns      IN              A       172.16.9.3 
  24.  
  25. www     IN              A       172.16.9.1 
  26.  
  27. www     IN              A       172.16.9.2 

检查语法错误


  1. named-checkconf 
  2.  
  3. named-checkzone "aaa.com" aaa.com.zone 

一切没问题就可以启动服务了


  1. service named start 

确保地址可以解析出来。

启动mysql服务器


  1. service mysqld start 

进入mysql,做进一步配置


  1. mysql> create database discuz;      #创建新的数据库 
  2.  
  3. mysql> grant all on discuz.* to 'bbsuser'@'172.16.%.%' identified by 'redhat';      #为数据库discuz设定用户和密码 
  4.  
  5. mysql> flush privileges; 

、配置web2:

为安装discuz提供环境:

1,安装mysql客户端:


  1. yum install -y mysql   #这里只安装mysql客户端即可 

2,安装web工具:


  1. yum install -y httpd httpd-devel 

为了防止一会安装论坛时出现乱码,可以在主配置文件中进行修改


  1. vim /etc/httpd/conf/httpd.conf 
  2.  
  3. AddDefaultCharset zh-CN         #修改语言选项 
  4.  
  5. 启动ServerName www.aaa.com : 80这一项 

3,安装php,使支持动态php格式的页面


  1. yum install -y php53 php53-devel php53-mysql(这一项和数据库相关,千万不要落下) 

  1. vim /etc/php.ini 
  2.  
  3. 启用short_open_tag = On 

4、安装论坛

下载Discuz_7.2_FULL_SC_GBK.zip,下载地址:ftp://172.16.0.1/pub/Sources/LAMP下


  1. unzip Discuz_7.2_FULL_SC_GBK.zip 
  2.  
  3. cd upload/ 
  4.  
  5. mv * /var/www/html      #将所有文件移到默认访问页面下 
  6.  
  7. cd /var/www/html 
  8.  
  9. chown -R apache:apache .    #将该文件下的属主,属组改为apache(和主配置文件中访问mysql的属主,属组保持一致) 

一切配置完成就可以访问页面了

例题解析web服务负载均衡

按照其指定步骤往下走:

例题解析web服务负载均衡

到此,将我用标记标出的部分改为数据库服务器地址172.16.9.3,以及你给数据库设定的用户和密码bbsuserredhat

进入论坛的页面,输入管理员和密码就可以进行操作了!!

例题解析web服务负载均衡

5、将该论坛通过nfs分享给web1


  1. vim /etc/exports 
  2.  
  3. /var/www/html       172.16.0.0/16 (rw,root_squash) 

重新导出并查看


  1. exportfs -r 
  2.  
  3. exportfs -v 

启动nfs服务


  1. service nfs start  

web1就可以通过挂载来共享论坛了。

三、接下来配置web1:

和配置web2 一样,确保可以运行论坛的工具都存在:


  1. yum -y install mysql httpd httpd-devel php53 php53-mysql php53-devel 

同样修改web的主配置文件和php的主配置文件(这里过程不再给出)

挂载web1的论坛程序:(确定nfs已经启动)


  1. mount -t nfs 172.16.9.2:/var/www/html   /var/www/html 
  2.  
  3. ls /var/www/html   #如果有和web2中/var/www/html 相同的文件,说明挂载成功了。 
  4.  
  5. 访问同一个论坛就会出现服务器轮询的机制了。(结果可以通过日志来查看) 

例题解析web服务负载均衡

访问同一个地址,先将各服务器日志清空:

例题解析web服务负载均衡

例题解析web服务负载均衡

多次访问,各服务器日志里就会出现如下信息了。。


  1. [[email protected] ~]# !tail 
  2. tail /var/log/httpd/access_log  
  3. 192.168.0.229 - - [18/Oct/2012:17:40:55 +0800] "GET /p_w_picpaths/logo.gif HTTP/1.1" 304 - "http://www.aaa.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 
  4. 192.168.0.229 - - [18/Oct/2012:17:40:55 +0800] "GET /p_w_picpaths/common/online_admin.gif HTTP/1.1" 304 - "http://www.aaa.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 
  5. 192.168.0.229 - - [18/Oct/2012:17:40:55 +0800] "GET /p_w_picpaths/common/online_supermod.gif HTTP/1.1" 304 - "http://www.aaa.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 
  6. 192.168.0.229 - - [18/Oct/2012:17:40:55 +0800] "GET /p_w_picpaths/common/online_member.gif HTTP/1.1" 304 - "http://www.aaa.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 
  7. 192.168.0.229 - - [18/Oct/2012:17:40:55 +0800] "GET /p_w_picpaths/common/online_moderator.gif HTTP/1.1" 304 - "http://www.aaa.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" 

也可以通过windows命令行来查看是否已经轮询:

例题解析web服务负载均衡

提示:用另外浏览器访问论坛时,一定不要忘记设定DNS地址哦!!

最后再啰嗦一句:在操作过程中,一定一定要记得将selinux关闭,我可是深受其害,下次再犯一定要撞墙了。例题解析web服务负载均衡~~