基於DNS輪詢和NFS實現簡單的網站負載均衡


試驗簡述:分別在host1host2上安裝phphttpd服務器,並部署Discuz站點,host2上安裝DNS服務,用於通過輪詢,向客戶提供站點bbs.test.com網站的IP地址.host3上分別提供mysql數據庫用於存放站點數據.,部署LFS服務用於向用戶提供附件頭像等上傳的空間.

wKioL1PwmzjzvXCQAADYLFXOZec471.jpg

1. 在各服務器上分別安裝對應服務器程序

Host1: yum -y install httpd php php-mysql

Host2: yum -y install httpd php php-mysql bind

Host3: yum install mysql-server mysql

2. 配置host1host2上的httpd服務器

分別編輯兩臺主機的/etc/httpd/conf/httpd.conf,修改主機名,根路徑以及添加對根路徑的權限

ServerName bbs.test.com

DocumentRoot "/bbs"

<Directory /bbs>

    Options none

    Order allow,deny

    allow from all

</Directory>

分別添加測試頁面/bbs/index.php,內容如下

<?php

    phpinfo();

?>

分別訪問host1host2,可以看到如下信息,說明網站和php已經運行成功

wKiom1PwmiWgp8O4AANBAcmO-UE956.jpg 

3. 配置mysql數據庫,使賬號dz可以分別從hostahostb訪問dz數據庫,並有完全訪問權限

mysql> create database dz;

Query OK, 1 row affected (0.00 sec)

 

mysql> grant all on dz to 'dz'@'172.16.21.101' IDENTIFIED BY '123456';

ERROR 1046 (3D000): No database selected

mysql> grant all on dz.* to 'dz'@'172.16.21.101' IDENTIFIED BY '123456';

Query OK, 0 rows affected (0.00 sec)

 

mysql> grant all on dz.* to 'dz'@'172.16.21.102' IDENTIFIED BY '123456';

Query OK, 0 rows affected (0.00 sec)

4. 分別在host1host2上添加測試頁面mysql.php,內容如下:

wKioL1Pwmz6Al9B0AAB1fr3bvSo491.jpg 

訪問指定頁面,可見數據庫已經連接成功

wKiom1Pwmibh8VEXAABzOvFh0R0341.jpg 

5. host3搭建DNS服務器,bbs.test.com分別解析到172.16.21.101172.16.21.102

編輯named主配置文件/etc/named.conf,添加正向區域,內容如下:

    wKioL1Pwmz7CL0C0AAAsuFKov0s883.jpg

添加正向區域解析文件var/named/test.com.zone,內容如下

wKiom1PwmiaiZ84bAABtFh9J3PU579.jpg

 

 

使用本服務器進行解析,可見每次返回的地址順序會發生改變,利用此可以實現服務器輪詢訪問.

wKioL1Pwmz_QZN--AAEVLepy2q4647.jpg 

6. 配置LFS服務,配置正確的選項

host3上編輯 /etc/exports, 

wKioL1Pwmz-gecppAABAj-HwfU4736.jpg 

使用exportfs -arv重新加載掛載項

wKiom1PwmiehAbfMAABNclRU8KM509.jpg 

7. 安裝Discuz站點

host1上解壓站點到/bbs目錄

wKiom1Pwmijgsa9xAACEEyHg9qw455.jpg 

通過訪問IP地址來安裝Discuz站點,根據提示安裝

 wKioL1Pwm0ODe0WdAAE6MX2RwFM190.jpg

選擇全新安裝進行安裝

wKiom1PwmizCTdu8AADHq_m_8pw913.jpg 

wKioL1Pwm0aiou8JAAE90KzPe10189.jpg 

服務器自動創建數據表

 wKiom1PwmjDAEK4DAAF9gkxBfcI980.jpg

此時我們的數據庫已經安裝完畢

wKiom1PwnMySzo3uAAFqOKzfklI343.jpg

將此站點目錄下所由內容壓縮複製到host2一份,並在host2上解壓到/bbs,通過host2 IP訪問正常

8. 圖片附件等數據互通

host1./data下的文件複製按照host1傳送到host2host3/upload一份,

wKioL1Pwm0qxAZqdAABu6mctlWU366.jpg 

刪除host12data目錄下的數據

wKiom1PwmjKjd_mrAAAcxHDp9y4140.jpg 

分別在host1host2上掛載host3上的upload,掛載至data目錄,並加入到fatab實現開機自動掛載

wKioL1Pwm0uhryt1AACsGEKhcls698.jpg 

wKiom1PwmjOTLi18AAA0D501tY8508.jpg 

9. 測試

通過域名訪問並寫一個帖子上傳附件

wKioL1Pwm03hxtHlAADS5JKye24763.jpg 

分別通過兩個IP訪問,測試附件能否被正常訪問

wKiom1PwmjfjJjydAAIg-cxmFyA803.jpg 

wKioL1Pwm1LD6u1-AAHjDKuNw8w806.jpg 


可見,通過兩個IP均能訪問附件資源,試驗成功!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章