練習一
環境布局:
主機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的客戶端)
試驗導圖:
試驗前置操作:
關閉所有主機的防火墻和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 將 開啟失??!創建/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】登錄:
數據庫數據確認:
數據正常!
【2】上傳頭像:
用戶頭像的保存路徑為NFS服務器的:
/data/application/web/discuz/uc_server/data/avatar/
【3】修改個人信息:
至此為止,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】登錄
【2】上傳的頭像與用戶信息
在任意一臺服務器上另一臺服務器均能得到正確數據,多次刷新也沒有問題,到此為止,試驗圓滿結束!
練習二
試驗環境:
兩臺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