搭建LAMP+NFS(附加mysql共享NFS目錄練習總結)

練習一

環境布局

主機6 route A (10.1.32.14)作為DNS服務器

主機centos 7 class (10.1.32.3)作為Apache,PHP(模塊方式)服務器1(有discuz程序)

主機centos 7 server (10.1.32.13)作為Apache,php(模塊方式)服務器2(無discuz)

主機centos 6 class (10.1.32.4)作為NFS服務器

主機mini 7 (10.1.32.131)作為mysql服務器(同時作為訪問Apache,使用discuz的客戶端)

圖像 015.png 


試驗導圖:


圖像 017.png


試驗前置操作:

關閉所有主機的防火墻和SElinux,以防試驗時報各種錯誤!

 

實驗步驟:

1搭建DNS服務器:

思路:

      yum安裝bind包,編輯/etc/namd.conf 添加“discuz.com”域,并修改相關配置,然  

         后在/var/named/做相應文件的創建與配置。因為當用戶輸入www.discuz.com時要對應

         兩臺Apache(php)服務器上,以實現負載均衡效應,所以要配置兩個A記錄。

 

2搭建Apache,php服務器,mysql 服務器

思路:

yum快速部署Apache(兩臺服務器的apache用戶的id都是48),php;mysql到3

臺主機上,并開始階段性測試

1)測試兩臺web服務器的php模塊運行是否正常;

/var/www/html下創建index.php,添加phpinfo()函數,訪問無問題!

2)測試兩臺web服務器連接mysql是否正常;

  mysql服務器上授權兩臺web服務器的權限,注意,IP(hostname),用戶名,   密碼不要寫錯!此時可以創建discuz的數據庫,并一起授權,要不后面也要執行  

  這一步驟。  

 創建/var/www/html/conn.php 編輯mysql_connect()函數,測試通過!

    

  3)測試DNS服務器

     在客戶端機(10.1.32.131)上編輯/etc/resolv.conf 添加nameserver=10.1.32.14

            將客戶端機的DNS服務器指向這個主機,并在網卡配置文件里添加  

            DNS=10.1.32.14

            多次ping www.discuz.com 這個網站,發現它分別指向了10.1.32.3和10.1.32.13,     DNS服務器測試成功!

 

3 搭建NFS服務器

    思路:

yum 安裝nfs-utils,注意(排錯),如果系統沒有安裝rpcbind,或rpcbind服務未開啟,

那么nfs 將 開啟失?。摻?/span>/data/application/web,編輯/etc/exports ,添加相應路徑的主

機權限。添加用 apache,id要保證與web服務器的apache用戶一樣!否則會導致

后期用戶無權創建,修改文件!

 

4 掛載apache服務器(10.1.32.3)文件目錄到NFS服務器

1)在10.1.32.3這個web服務器下創建一個目錄/nfs-web/htdoc。用于存放discuz,

     web文件,上傳的圖片等,然后將此目錄掛載到NFS服務器(10.1.32.4):

           mount -t nfs 10.1.32.4:/data/application/web /nfs-web/htdoc

      掛載成功!

 

  2)修改/etc/httpd/conf/httpd.conf文件的DocumentRoot 為掛載目錄:

        /nfs-web/htdoc;然后驗證php模塊,mysql的各項功能是否正常。結果:一切正常!

     3)安裝discuz,創建并登錄一個用戶,這里用windows端測試。

1】登錄:

圖像 002.png 

 

數據庫數據確認:

 

  圖像 008.png

 

數據正常!

 

2】上傳頭像:

圖像 005.png 

圖像 006.png 

 

用戶頭像的保存路徑為NFS服務器的:

/data/application/web/discuz/uc_server/data/avatar/

 

圖像 009.png 

3】修改個人信息:

圖像 011.png 

 

至此為止,apache,PHP(10.1.32.3)–>NFS–>MySql 這一條線路就已經全部打通,此線路 測試完畢!接下來測試另一個apache,PHP(10.1.32.13)服務器。

 

5 掛載apache服務器(10.1.32.13)文件目錄到NFS服務器

思路:

因為共享NFS的/data/application/web/目錄,所以不用安裝discuz,直接掛載,使用共享目錄下的文件!然后登錄同一用戶,以此測試數據是否同步,多次刷新是否正常:

1】登錄

圖像 010.png 

 

2】上傳的頭像與用戶信息


圖像 013.png 

 

在任意一臺服務器上另一臺服務器均能得到正確數據,多次刷新也沒有問題,到此為止,試驗圓滿結束!

 

練習二

試驗環境:

兩臺mysql的服務器,一臺NFS服務器。

思路與解答:

NFS服務器上開啟nfs服務,創建文件/mysql/data,編輯配置文件/etc/exposts,賦予兩臺mysql服務器對此目錄具有讀寫權限。添加用戶mysql。先在其中一臺服務器上安裝mysql,創建/mydata,并將此目錄掛載到NFS服務器的/mysql/data下,修改/etc/my.cnf,將datadir的目錄位置改為已掛載的/mydata下。

保證mysql用戶的id與NFS服務器的mysql用戶的id一致。賦予mysql用戶對/mydata的rwx權限。啟動mysql服務,失敗!但進入/mydata下,卻發現,已經創建了部分文件,但查看日志,報錯說在創建ibdata1這個文件時失敗,原因是沒有權限,但是反復查看,mysql用戶應該是有權限的,因此懷疑是SElinux的作用,于是關閉SElinux,再啟動,成功!

再在另一臺服務器上安裝mysql服務,執行和上述同樣的操作,成功。然后分別測試兩臺mysql服務器在不同狀態下的啟動于關閉,沒有問題!一臺服務器創建的數據庫和表,另一臺也能同步到。但在表內的數據同步出現了問題!如:mysql服務器A插入了一條數據后,mysql服務器B不能立即同步,也就是看不到A插入的數據。當A再插入第二條數據后,B會同步出A插入的第二條數據,第一條數據在B里看不到,但在A里是完整的。反復測試仍不能解決…推測是表的同步機制或共享文件機制方面的問題。

 

 

原創文章,作者:菩提本無樹,如若轉載,請注明出處:http://www.www58058.com/54233

(0)
菩提本無樹菩提本無樹
上一篇 2016-10-25 09:46
下一篇 2016-10-25 09:46

相關推薦

  • Linux ansible 服務

                      Linux ansible 服務 Ansible:    運維工具的分類: agent:基于專用的agent程序完成管理功能,puppet, func, zabbix, … agentless:基于ss…

    系統運維 2016-11-19
  • 非常不錯的編程技術教程

    下面是一些非常不錯的編程教程,當然,全是英文版的。不過因為是新手教程,所以非常容易閱讀,可以在學習技術的同時加強一下自己的英語閱讀能力。 如果你是一個新手,建議你把本頁設為你的收藏夾。C Introduction to C Programming C Optimization Tutorial Compiling C and C…

    Linux干貨 2016-05-10
  • 設計模式 ( 十五 ) 中介者模式Mediator(對象行為型)

    1.概述 在面向對象的軟件設計與開發過程中,根據“單一職責原則”,我們應該盡量將對象細化,使其只負責或呈現單一的職責,即將行為分布到各個對象中。 對于一個模塊或者系統,可能由很多對象構成,而且這些對象之間可能存在相互的引用,在最壞的情況下,每一個對象都知道其他所有的對象,這無疑復雜化了對象之間的聯系。雖然將一個系統分割成許多對象通??梢栽鰪娍蓮陀眯?,但是對象…

    Linux干貨 2015-07-20
  • PXE自動化安裝系統

    PXE自動化安裝的流程: 開機自檢 > 加載ROM中的bios代碼 > 檢查設備啟動順序,由于PXE自動安裝是基于網卡作引導的,所以,會選擇網卡 > 網卡中會有PXE的模塊,從dhcp服務器獲取ip地址 掩碼 網關 dns 重要的是tftp服務器的地址 從tftp服務器需要獲取的bootloder的文件名的信息 > 從tftp中加載p…

    Linux干貨 2015-08-11
  • dns主從

    一、前言 Dns全稱domain name system,當我們訪問一個網站時,在網站輸入一個網址。但是網絡是靠ip地址這個邏輯地址來標識地址的。而一個網址是如何轉換為ip地址的?下面我們將簡單講解下dns的原理。 二、dns查詢過程 在了解dns查詢過程時,我們先了解一些有關dns的專業名詞     根域:用來管理互…

    Linux干貨 2015-10-01
  • samba服務

    一、什么是SAMBA   Linux之間可以通過NFS服務方便的掛載遠程主機上的共享目錄,那么SAMBA主要是用于實現Windows主機與Linux主機之間共享文件互訪。它們之間的通信依賴于CIFS協議。 二、SAMBA使用的daemon     1、nmbd:在Linux上實現NetBIOS;     &n…

    Linux干貨 2016-02-14
欧美性久久久久