1、架構拓撲前端
2、架構說明web
客戶端經過DNS解析後將拿到www.bbs.com域名的IP地址,經過DNS配置兩條資源記錄以實現調整輪詢來達到負載均衡,後端經過NFS存儲共存Discuz程序,以達到數據一致性,用戶的數據存儲在MySQL服務器中,MySQL數據是分離的,這樣能夠減小前端Web服務器的壓力。apache
3、架構的規劃vim
主機後端 |
IP地址 | 提供服務 |
客戶端瀏覽器 |
172.16.190.9 | - |
DNS服務器bash |
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 | 提供站點數據存儲 |
4、搭建LAMP平臺
這裏就很少介紹LAMP平臺的搭建,請參考LAMP相關的博文。
5、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
6、配置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
7、配置Web服務器
在Web服務器上的配置Web-01和Web-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
8、MySQL服務器的配置
(1)建立數據並受權
> CREATE DATABASE discuzbbs; > GRANT ALL ON discuzbbs.* TO'disbbs'@'172.16.9.%' identified by 'disbbs@pass'; > FLUSH PRIVILEGES;
9、安裝配置使用Discuz程序
在本地網絡中把DNS指向192.168.0.190,在瀏覽器輸入www.bbs.com就能訪問了,當第一次使用Discuz要進行安裝,安裝這裏就不詳細的介紹,請參考我相關LAMP的博文。
小結:
此架構有不少的地方還須要改進:
1)DNS沒法判斷Web服務器是否訪問壓力過大;
2)DNS沒法判斷Web服務器是否宕機;
3)NFS存儲是否宕機
4)對於大併發NFS是沒法承受的等等;