雲端計算運維學習---web伺服器和NFS伺服器、資料庫伺服器建立連線

路~~~發表於2020-11-08

web伺服器與NFS儲存伺服器建立連線
因為真實的網站不可能只有一臺web伺服器,一般都是一個web叢集。web叢集不僅可以提高處理請求的效率,還可以提供冗餘的能力,以防止一臺web伺服器壞掉網站就無法工作。
我們通過瀏覽器訪問一個網站時,網站的負載均衡伺服器就會把我們的請求分發給web叢集中的一臺web伺服器處理,若是web伺服器沒有和NFS儲存伺服器建立連線,那麼客戶在網站上傳的圖片、音訊、視訊、附件等資料就只會儲存在處理你請求的那臺web主機上。當你下次再訪問相同的網站時,負載均衡伺服器可能會把你的請求分發給web叢集中其它的web伺服器,這時你可能就會找不見之前上傳到此網站的資料了。
所以通過web伺服器和NFS儲存伺服器建立連線,web叢集中所有web主機把客戶上傳的圖片、音訊、視訊等資料資訊都存放在NFS儲存伺服器中,客戶從網站獲取之前上傳的圖片、音訊等數也是從NFS儲存伺服器上獲取。這樣就不會出現找不見自己上傳的資料的情況了。

實驗條件:

  • 一臺部署好LNMP架構的虛擬主機作為web伺服器
  • 一臺部署好NFS服務的虛擬主機作為NFS儲存伺服器
  • 按照我這篇博文LNMP動態網頁部署好動態網頁

第一步:
在自己部署好的動態網頁網頁釋出一個博文:
在這裡插入圖片描述
部落格中上傳的照片會被放在網站的站點目錄中。自己也可以通過在動態網頁的部落格中右鍵“複製圖片的地址”,檢視圖片所放的具體位置。
在這裡插入圖片描述

第二步:將"/usr/share/nginx/html/wp-content/uploads/2020/11"這個目錄先移放到"/tmp"目錄下,否則直接將NFS共享目錄掛載在"/usr/share/nginx/html/wp-content/uploads/2020"下的話,就會把”11“這個目錄中的資料全部覆蓋掉。
在這裡插入圖片描述
第三步:將NFS共享目錄掛載到"/usr/share/nginx/html/wp-content/uploads/2020"下,這樣就可以實現動態網頁中上傳的圖片資料都會被自動儲存到NFS的共享目錄中。
在這裡插入圖片描述
第四步:將之前移走的"11"目錄,再移回"/usr/share/nginx/html/wp-content/uploads/2020"目錄下。移動時可能會出現許可權不允許的情況。這是因為在配置NFS配置檔案"/etc/exports"時出現了問題:
在這裡插入圖片描述

web伺服器和資料庫伺服器建立聯絡
web伺服器和資料庫伺服器建立聯絡的原因和上面的web伺服器和NFS儲存伺服器建立聯絡的原因差不多。因為資料庫伺服器主要儲存的就是字元資料資訊,web叢集中所有的web主機把客戶在網站上傳的所有的字元資料資訊都儲存在資料庫伺服器中,以防止客戶兩次登入相同的網站,卻發現資料不一樣。
實驗條件:

  • 一臺部署LNMP架構的web伺服器
  • 一臺資料庫伺服器

第一步:將web伺服器本地資料庫資料進行備份
在這裡插入圖片描述
第二步:將資料庫備份檔案遷移到資料庫伺服器
在這裡插入圖片描述
第三步:在資料庫伺服器中恢復資料資訊
在這裡插入圖片描述
第四步:刪除資料庫伺服器中資料庫無用的使用者資訊;不刪除的話,可能會致使以後無法登入資料庫。
在這裡插入圖片描述
第五步:設定允許哪些主機以什麼使用者的身份可以運算元據庫伺服器中的相關資料庫;這個使用者就是動態網頁初始化時設定的使用者。
在這裡插入圖片描述
第六步:修改web伺服器中動態網頁的程式碼檔案資訊,讓動態網頁中產生的字元資料資訊自動儲存到資料庫伺服器中,而不是儲存在本地。
在這裡插入圖片描述
第七步:停止web伺服器上的mariadb資料庫服務,以後的資料庫服務就讓資料庫伺服器中資料庫服務提供。

TIPS:
a.資料庫伺服器中的資料庫服務若是沒有啟動,訪問網站時,瀏覽器頁面會顯示“Error establishing a database connection”,說明無法連線3306埠(資料庫服務的埠),需要開啟資料庫服務
b.若是web伺服器上PHP服務沒有開器,瀏覽器頁面會報502錯誤,表示nginx服務無法和後端的PHP服務建立連線。
c.wordpress動態網頁會在初始化時會記錄自己域名,若是隻更改nginx服務擴充套件配置檔案的域名,再使用瀏覽器訪問新的域名時,瀏覽器會自動跳轉到初始化時記錄的域名上去。若是不想讓瀏覽器跳轉,可以在wordpress頁面的設定中修改它記錄的域名資訊;也可以更改資料庫中記錄和域名有關的表的資訊。

相關文章