此篇博文僅限涉及web服務器部分,至於負載均衡的實現能夠按照需求來作,能夠是基於DNS解析的負載均衡,也能夠用lvs或者專用的負載均衡器(如F5或randware)php
這是一個比較簡單的負載均衡的實現,沒有考慮到ha。mysql
具體規劃:linux
將2臺web服務器作成一個discuz論壇的小集羣。合理分配2臺web服務器的任務,分離文件共享和mysql應用,使2臺服務器同時提供web服務,但由web1充當網絡存儲,實現數據的同步,web2充當數據庫服務器,提供數據的調用。合理的分配2臺服務器的負載,實現真正意義的負載均衡。web
此情景只是一個負載均衡的小集羣,未考慮到高可用的狀況,在中小型企業中,若是一臺服務器撐不住,但業務也不是特別重要,容許在服務器掛掉的狀況下能斷線一段時間的狀況下使用。sql
具體是在web1上作NFS文件共享,將網頁放置在web1上。將數據庫放置在web2上。而後2臺web服務器同時提供web服務,外界訪問2臺服務器時獲得的網頁結果是同樣的數據庫
實現過程apache
首先在web1中安裝nfs,apache,php瀏覽器
[root@localhost ~]# yum install nfs-utils httpd php php-mysql –y服務器
建立網站目錄網絡
[root@localhost ~]# mkdir /dz
爲了方便,將網站目錄的權限修改成777(在真正爲企業配置時千萬別這麼來,這裏只是爲了實驗方便)
[root@localhost /]# chmod 777 dz -R
修改網址apache的配置文件,指向dz目錄,這裏只修改一行
DocumentRoot "/dz"
關閉selinux和iptables,並打開httpd
在dz中創建php測試頁面,確保php運行正常
[root@localhost dz]# vi index.php #寫入如下內容
- <?php
- phpinfo();
- ?>
打開頁面測試一下
配置nfs服務,共享網站目錄dz
[root@localhost dz]# vi /etc/exports #加入下面一行
- /dz 192.168.92.11(rw,async)
啓動nfs服務
web1暫時配置到這裏,先把配置web2配置一下
在web2上安裝apache,php,mysql-server
[root@localhost ~]# yum install nfs-utils httpd php php-mysql mysql-server -y
而後先掛載web1的nfs目錄
[root@localhost ~]# mount -t nfs 192.168.92.10:/dz /dz
和web1同樣關閉selinux和iptables 並打開httpd,
而後修改apache的配置和web1同樣網站路徑爲/dz,不過這裏的/dz就是從web1網絡掛載過來的/dz了,這裏再也不詳細列出過程了,和web1的同樣
而後開始爲mysql配置論壇的數據庫table和帳戶
[root@localhost ~]# mysql
- mysql> create database dz;
- Query OK, 1 row affected (0.01 sec)
- mysql> grant all privileges on dz.* to dzroot@192.168.92.10 identified by '123456';
- Query OK, 0 rows affected (0.01 sec)
- mysql> grant all privileges on dz.* to dzroot@192.168.92.11 identified by '123456';
- Query OK, 0 rows affected (0.00 sec)
- mysql> flush privileges;
- Query OK, 0 rows affected (0.00 sec)
數據庫配置好後開始配置discuz
首先到WEB1上進行配置。
[root@localhost dz]# unzip Discuz_X2.5_SC_UTF8.zip #解壓discuz程序
進入/dz/config目錄 打開編輯config_global_default.php文件。
[root@localhost config]# vi config_global_default.php 修改如下幾行內容
- $_config['db'][1]['dbhost'] = '192.168.92.11'; #數據庫必定要指向web2
- $_config['db'][1]['dbuser'] = 'dzroot';
- $_config['db'][1]['dbpw'] = '123456';
- $_config['db'][1]['dbcharset'] = 'utf8';
- $_config['db'][1]['pconnect'] = 0;
- $_config['db'][1]['dbname'] = 'dz';
- $_config['db'][1]['tablepre'] = 'pre_';
而後將其複製爲如下名稱(爲了防止安裝discuz時報錯)
[root@localhost config]# cp config_global_default.php config_global.php
[root@localhost config]# cp config_ucenter_default.php config_ucenter.php
瀏覽器中打開192.168.92.10,開始discuz的安裝,進行到這一步時,對相應提示的目錄進行權限的修改
安裝成功後,用瀏覽器打開192.168.92.10,進入管理員後臺,添加一個板塊
而後打開192.168.92.11
能夠看到2個web之間的內容是同步的
這就簡單的搭建了一個小小的負載均衡的集羣應用
實現比較簡單,重要的思路的開放。可以讓不一樣的應用的壓力均攤到每一個服務器上,不浪費服務器性能,這纔是負載均衡的意義。