利用nfs共享實現多臺web服務器的負載均衡(轉載,沒實現過)

1、實驗目的php

  本實驗主要經過nfs解決多臺web服務器負載均衡的問題和數據同步的問題。mysql

2、實驗環境:web

 如上拓撲圖所示,在server1上安裝有mysql數據庫,server2和server3經過nfs共享server1上的mysql數據庫,同時,將discuz網站的源碼放在server1上,即:server1只運行mysql,而server2和server3只運行php和apache。這樣能夠保證用戶無論訪問server2或者server3均可以獲得相同的結果。sql

3、實驗步驟數據庫

一、server1的配置apache

      (1)首先在server1上安裝mysql(在此以綠色版爲例,具體步驟請參照博文LAMP的編譯安裝),在此再也不贅述。vim

      (2)利用nfs將mysql的解壓後的文件和discuz共享出去。瀏覽器

點擊(此處)摺疊或打開服務器

  1. #yum -y install nfs-utils負載均衡

  2. #service portmap start #vim /etc/exports (在此文件中添加以下內容)

  3. /usr/local/mysql 172.16.66.1(rw)

  4. /usr/local/mysql 172.16.77.1(rw) #exportfs -arv 將discuz共享出去,同理須要編輯/etc/exports文件 #vim /etc/exports 在此文件中添加以下內容:

  5. /web 172.16.66.1(rw) /web 172.16.77.1(rw) /注意要事先將discuz的文件放在/web目錄中。

  6. #exportfs -arv

 二、server2的配置

(1)安裝apache-2.4.2,具體步驟請參照博文LAMP的編譯安裝。
(2)將server1共享的文件掛載至本機。

點擊(此處)摺疊或打開

  1. #mkdir /mysql(將server1的mysql文件掛載至此目錄中)

  2. #mkdir /web(將server1中的discuz掛載至此目錄中)

  3. #vim /etc/fstab 在此文件中添加以下內容: 172.16.58.1:/usr/local/mysql /mysql nfs default 0 0 172.16.58.1:/web /web nfs default 0 0

  4. #mount -a

 (3)編譯安裝php。注意php指定的--with-mysql與--with-mysqli的路徑。

點擊(此處)摺疊或打開

  1. # tar xf php-5.4.4.tar.bz2

  2. # cd php-5.3.14

  3. # ./configure --prefix=/usr/local/php --with-mysql=/mysql --with-openssl --with-mysqli=/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

  4. # make

  5. # make test

  6. # make intall

三、server3配置

 server3的配置和server2的配置同樣,在此不贅述。

4、實驗結果及驗證

一、在瀏覽器中輸入172.16.66.1/install(注意第一次必定要這樣輸入),出現以下頁面:

 二、進入下一步進入以下頁面:

注意以上頁面是執行如下命令獲得的結果,在server1上作以下操做:

點擊(此處)摺疊或打開

  1. #setfacl -m u:daemon:rw ./config.inc.php #setfacl -m u:daemon:rwx ./attachments/ ./forumdata/ ./forumdata/cache/ ./forumdata/templates/ ./forumdata/threadcaches/ ./forumdata/logs/ ./uc_client/data/cache/

三、點擊下一步,進入以下頁面:

若是出現以下界面,則說明須要在server1的mysql數據中建立數據庫和用戶具體步驟以下:

 

  如出現以上狀況則在server上作以下操做:

點擊(此處)摺疊或打開

  1. mysql> create database discuz;

  2. mysql> create user 'discuz'@172.16.77.1 identified by 'redhat';

  3. mysql> create user 'discuz'@172.16.66.1 identified by 'redhat';

  4. mysql> grant ALL on discuz.* to 'discuz'@172.16.66.1;

  5. mysql> grant ALL on discuz.* to 'discuz'@172.16.77.1;

  6. mysql> flush privileges;

四、之後一直點擊就能夠了,最終會獲得以下界面:

五、註冊一個用戶並在其上發表帖子,這是在server3的操做以下: 

在用戶登陸server2這臺主機就能看到以下效果了:

到此爲止實驗結束!!!

相關文章
相關標籤/搜索