一、架构拓扑

wKiom1VR_33wUzJKABaYDOZj82M323.bmp

 

二、架构说明

  客户端通过DNS解析后将拿到www.bbs.com域名的IP地址,通过DNS配置两条资源记录以实现调整轮询来达到负载均衡,后端通过NFS存储共存Discuz程序,以达到数据一致性,用户的数据存储在MySQL服务器中,MySQL数据是分离的,这样可以减少前端Web服务器的压力。

 

三、架构的规划

主机

IP地址提供服务

客户端

172.16.190.9-

DNS服务器

192.168.0.190

解析www.bbs.com

Web-01服务器

172.16.9.28

提供www.bbs.com服务

Web-02服务器

172.16.9.29

提供www.bbs.com服务

NFS服务器

172.16.9.35

提供共存存储站点程序

MySQL服务器172.16.9.41提供站点数据存储


四、搭建LAMP平台

  这里就不多介绍LAMP平台的搭建,请参考LAMP相关的博文。

 

五、NFS服务器的配置

1)创建用户共存的目录

# mkdir /share/web/discuz -p

2)解压Discuz程序包到discuz目录中

[root@NFS discuz]# unzipDiscuz_X3.2_SC_UTF8.zip

3)编辑/etc/exports文件创建NFS共存属性

[root@NFS ~]# vim /etc/exports
    /share/web/discuz/upload172.16.9.0/16(rw,sync,no_root_squash)

4)启动NFS服务

[root@NFS ~]# service rpcbind start
Starting rpcbind:                             [  OK  ]
[root@NFS ~]# service nfs start
Starti                                     [  OK  ]
Starting NFS quotas:                           [  OK  ]
Starting NFS mountd:                           [  OK  ]
Starting NFS daemon:                           [  OK  ]
Starting RPC idmapd:                          [  OK  ]


5)检查共存目录

[root@NFS ~]# showmount -e 172.16.9.35
Export list for 172.16.9.20:
/share/web/discuz/upload 172.16.9.0/16

 

六、配置DNS服务

  DNS的的详细配置请参考“DNS应用:http://wuday.blog.51cto.com/2623944/1638804

$TTL 86400
@   IN  SOA ds1.bbs.com.    admin.bbs.com. (
            20150501201
            9H
            2H
            7D
            1D)
    IN  NS  ds1
    IN  NS  ds2
    IN  MX 10   mx1
    IN  MX 20   mx2
ds1 IN  A   192.168.0.190
ds2 IN  A   192.168.0.191
mx1 IN  A   192.168.5.21
mx2 IN  A   192.168.5.26
www IN  A   172.16.9.29
www IN  A   172.16.9.28


 

七、配置Web服务器

  在Web服务器上的配置Web-01Web-02上的配置都一样的,这里只贴出Web服务的虚拟机配置

1)配置虚拟主机

<VirtualHost *:80>
   ServerAdmin admin@bbs.com
   DocumentRoot "/web/bbs"
   ServerName www.bbs.com
   ServerAlias bbs.com
   ErrorLog "logs/bbs.com-error_log"
   CustomLog "logs/bbs.com-access_log" combined
   <Directory "/web/bbs">
     AllowOverride None
     Options None
      Require all granted
  </Directory>
</VirtualHost>

2)创建目录并挂载NFS

# mkdir -p /web/bbs
# showmount -e 172.16.9.35           #查看NFS共享存储情况
Export list for 172.16.9.35:
/share/web/discuz/upload 172.16.9.0/16
# mount -t nfs 172.16.9.35:/share/web/discuz/upload/web/bbs/   #挂载NFS共享存储


3)更改站点目录属主、属组

# cd /web/bbs/
# chown -R apache.apache ./*

4)启动Httpd服务

# service httpd start

 

八、MySQL服务器的配置

1)创建数据并授权

> CREATE DATABASE discuzbbs;
> GRANT ALL ON discuzbbs.* TO'disbbs'@'172.16.9.%' identified by 'disbbs@pass';
> FLUSH PRIVILEGES;

 

九、安装配置使用Discuz程序

  在本地网络中把DNS指向192.168.0.190,在浏览器输入www.bbs.com就能访问了,当第一次使用Discuz要进行安装,安装这里就不详细的介绍,请参考我相关LAMP的博文。

 

小结:

此架构有很多的地方还需要改进:

   1DNS无法判断Web服务器是否访问压力过大;

   2DNS无法判断Web服务器是否宕机;

   3NFS存储是否宕机

   4)对于大并发NFS是无法承受的等等;