gwdsqw 发表于 2015-5-13 08:27:07

LAMP架构之DNS+NFS

一、架构拓扑


二、架构说明
客户端通过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)创建用户共存的目录

1
# mkdir /share/web/discuz -p




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

1
# unzipDiscuz_X3.2_SC_UTF8.zip




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

1
2
# vim /etc/exports
    /share/web/discuz/upload172.16.9.0/16(rw,sync,no_root_squash)




(4)启动NFS服务

1
2
3
4
5
6
7
8
# service rpcbind start
Starting rpcbind:                           
# service nfs start
Starti                                    
Starting NFS quotas:                           
Starting NFS mountd:                           
Starting NFS daemon:                           
Starting RPC idmapd:                        






(5)检查共存目录

1
2
3
# showmount -e 172.16.9.35
Export list for 172.16.9.20:
/share/web/discuz/upload 172.16.9.0/16





六、配置DNS服务


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$TTL 86400
@   INSOA ds1.bbs.com.    admin.bbs.com. (
            20150501201
            9H
            2H
            7D
            1D)
    INNSds1
    INNSds2
    INMX 10   mx1
    INMX 20   mx2
ds1 INA   192.168.0.190
ds2 INA   192.168.0.191
mx1 INA   192.168.5.21
mx2 INA   192.168.5.26
www INA   172.16.9.29
www INA   172.16.9.28







七、配置Web服务器
在Web服务器上的配置Web-01和Web-02上的配置都一样的,这里只贴出Web服务的虚拟机配置
(1)配置虚拟主机

1
2
3
4
5
6
7
8
9
10
11
12
13
<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

1
2
3
4
5
# 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)更改站点目录属主、属组

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




(4)启动Httpd服务

1
# service httpd start





八、MySQL服务器的配置
(1)创建数据并授权

1
2
3
> 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的博文。

小结:
此架构有很多的地方还需要改进:
   1)DNS无法判断Web服务器是否访问压力过大;
   2)DNS无法判断Web服务器是否宕机;
   3)NFS存储是否宕机
   4)对于大并发NFS是无法承受的等等;


页: [1]
查看完整版本: LAMP架构之DNS+NFS