一、架構拓撲
二、架構說明
客戶端通過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-01和Web-02上的配置都一樣的,這裏只貼出Web服務的虛擬機配置
(1)配置虛擬主機
<VirtualHost *:80> ServerAdmin [email protected] 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的博文。
小結:
此架構有很多的地方還需要改進:
1)DNS無法判斷Web服務器是否訪問壓力過大;
2)DNS無法判斷Web服務器是否宕機;
3)NFS存儲是否宕機
4)對於大併發NFS是無法承受的等等;