前言:對於一個站點來講,查詢靜態頁面的量顯然多與動態頁面的量,因此咱們以配置兩個web服務器,一個mysql服務器來組成簡單的負載均衡站點,固然這顯然仍是不夠的,由於php解析服務也與web服務在一塊兒,不過因爲php與web的分離還有些難度,暫時先不考慮,下面就以兩個web服務器與一個mysql服務器爲例。php
客戶端訪問web服務器,須要DNS的解析,從DNS服務器那裏查詢獲得web服務器的地址,咱們在DNS服務器設置一個域名對應兩個IP地址,實現web的輪詢訪問。A爲主服務器,它部署了Apache與php,而數據庫則獨立在C服務器中,B經過NFS同步A中的數據,實現AB中數據一致,它的數據庫服務器也指向C。html
實驗環境:RedHat5.8, A,B中安裝部署系統自帶的httpd-2.2.3,php-5.5.3,php-mysql,NFS-utils的RPM包,C中用自帶的bind-9.7.0,mysql-5.0部署了DNS與mysql服務。 A的地址爲172.16.1.20/16,B的地址爲172.16.1.21/16,C的地址爲172.16.1.1 (注,全部SELINUX,iptables已關閉),域名爲www.test.commysql
一,C中部署MySQL服務器。web
##yum安裝mysql yum -y install mysql ##啓動mysqld服務端 service mysqld start ##爲web服務器創建簡單的庫,與帳號 mysql ##啓動客戶端 mysql> create database web; ##建立數據庫 mysql> grant all on web.* to 'web'@'172.16.1.20' identified by 'redhat'; ##爲web1創建帳號 mysql> grant all on web.* to 'web'@'172.16.1.21' identified by 'redhat'; ##爲web2創建帳號
二,創建web服務器器A
1,安裝httpd,php,php-mysql,NFS-utilsyum -y install httpd php53 php53-mysql nfs-utils ##redhat5.8自帶了兩個版本的php,咱們用5.3的
2,查看/etc/httpd/conf/httpd.conf的默認文檔目錄,構建簡單的workpress站點sql
DocumentRoot "/var/www/html" ##由此可知文檔目錄 ##把下載的wordpress包解壓到/var/www/html中 wget http://cn.wordpress.org/wordpress-3.4.2-zh_CN.tar.gz ##下載wordpress tar xvf wordpress-2.4.2-zh_CN.tar.gz ##解壓 cp -R wordpress-3.4.2-zh_CN.tar.gz/* /var/www/html ##拷貝到/var/www/html中、 chown -R apache:apache /var/www/html ##更改屬主屬組
3,修改wordPress配置文件數據庫
cd /var/www/html/ cp wp-config-sample.php wp-config.php ##拷貝實例配置文件 vim wp-config.php define('DB_NAME', 'web'); ##修改數據庫名字 define('DB_USER', 'web'); ##修改用戶名 define('DB_PASSWORD', 'redhat'); ##修改密碼 define('DB_HOST', '172.16.1.1'); ##mysql服務器地址
4,啓動httpd服務器,而後訪問web服務器,安裝wordpressservice httpd start ##啓動服務 ##在瀏覽器中訪問172.16.1.20進入安裝界面,簡單設置便可
5,啓動NFS,共享/var/www/html##編輯配置文件共享/var/www/html vi /etc/exports /var/www/html 172.16.1.21(rw) servie nfs start ##啓動NFS6,檢查是否共享成功showmount -e 172.16.1.20 ##查看是否共享成功 Export list for 172.16.1.20: ##出現如下字樣表明成功了 /var/www/html 172.16.1.21 ###到此web1設置完畢
三,創建web2服務器
1,同步驟二第一步一致2,掛載web1的共享目錄到/var/www/htmlmount -t nfs 172.16.1.20:/var/www/html /var/www/html ##掛載 ##訪問 172.16.1.21測試是否能正常訪問 若是能則正常
四,在mysql中創建DNS服務器
1,安裝bindyum -y install bind97 ##安裝RedHat5.3中版本較高的bind-5.3
2,修改/etc/named.confapache
options { directory "/var/named"; } zone "." IN { type hint; file "named.ca"; }; zone "test.com" IN { type master; file "test.com.zone"; };
3,創建區域文件/etc/named/test.com.zonevim
/etc/named/test.com.zone ##修改 $TTL 9000 @ IN SOA ns admin ( 2012102801 2H 5M 7D 2H ) IN NS ns ns IN A 172.16.1.1 www IN A 172.16.1.21 www IN A 172.16.1.20
4,測試DNS服務器是否正常dig -t A www.test.com @127.0.0.1 如能正確解析則表明正常
五,把測試客戶端xp的本地鏈接的DNS改成 172.16.1.1,在瀏覽器中訪問www.test.com測試訪問,而後查看各自web服務器的access日誌文件。若是都有記錄表明一切正常。