<a href="http://s3.51cto.com/wyfs02/M02/23/1C/wKioL1MxyXXxprq2AAIYgfjG0Xk421.bmp" target="_blank"></a>
一、預備知識:
5、資料庫基礎知識
6、網絡共享
7、lvm
如果你具備以上知識,那麼上圖将一目了然(隻是我畫的太爛了)
二、簡單的說明一下上圖所能夠實作的功能
1、如果有大量的請求是能過DNS智能配置設定置流量,減小前端APACHE1和APACH2單獨壓力,目前端一個伺服器出現故障時,不會讓業務下線。
2、在PHP伺服器上挂載一個儲存設備,做為PHP與APACHE利用NFS服務共享存儲,存放靜态或動态資源便于集中式的管理。
3、結合mysql資料庫來存儲業務資料。
三、本機環境及所用到的軟體版本
系統:centos6.5.x86_64
DNS:BIND 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6
HTTPD:采用編譯安裝httpd-2.4.9.tar.bz2
PHP:采用編譯安裝PHP-5.4.26.tar.bz2
mysql:采用通用二進制安裝mysql-5.5.33.tar.bz2
四、配置過程
1、配置DNS伺服器(僅正向解析)
前提:
為DNS設定IP位址,主機名,DNS.
在本實驗中DNS配置如下
主機名:www.dns.essun.com
IP位址:eth0:192.168.1.50/24,eth0:0 10.01.10.10/8
DNS: 192.168.1.50
功能:為其它域内主機解析
①使用yum安裝bind,修改配置檔案
1
<code>#vim /etc/named.conf</code>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<code>options {</code>
<code> </code><code>directory </code><code>"/var/named"</code><code>;</code>
<code> </code><code>rrset-order { order random; };</code>
<code>};</code>
<code>#rrset-order 支援三個參數:fixed, random, cyclic 。</code>
<code>#fix 會将多個A記錄按配置檔案的順序固定給出</code>
<code>#random 會随機給出</code>
<code>#cyclic 會循環給出.</code>
<code>zone </code><code>"."</code> <code>IN {</code>
<code> </code><code>type</code> <code>hint;</code>
<code> </code><code>file</code> <code>"named.ca"</code><code>;</code>
<code> </code>
<code>zone </code><code>"essun.com"</code> <code>IN {</code>
<code> </code><code>type</code> <code>master;</code>
<code> </code><code>file</code> <code>"essun.com.zone"</code><code>;</code>
<code>zone </code><code>"localhost."</code> <code>IN {</code>
<code> </code><code>file</code> <code>"named.localhost"</code><code>;</code>
<code>#include "/etc/named.rfc1912.zones";</code>
<code>#include "/etc/named.root.key";</code>
②配置資料區域檔案(#vim /var/named/essun.com.zone)
<a href="http://s3.51cto.com/wyfs02/M02/23/1B/wKiom1Mx0-ixXrxLAAHW5FPaCHk544.jpg" target="_blank"></a>
③寫完之後進行文法檢查
<code>檢查文法</code>
<code>#named-checkconf</code>
<code>檢查資料檔案</code>
<code>#named-checkzone </code><code>"essun.com"</code> <code>"/var/named/essun.com.zone"</code>
④如果沒有錯誤,就可以啟動DNS服務,為其它伺服器解析
測試一下:
<a href="http://s3.51cto.com/wyfs02/M01/23/1E/wKioL1MyPcriUhChAAIzOnPwVg4455.jpg" target="_blank"></a>
注:
⑤将DNS添加到開機啟動服務清單,這樣就可以開機自動啟動服務了
<a href="http://s3.51cto.com/wyfs02/M00/23/1D/wKiom1MyQcuQxdxBAAC79Hmq5VE736.jpg" target="_blank"></a>
======================================到此DNS安裝完成=================================
2、編譯安裝HTTPD
配置網絡屬性
第一台HTTPD伺服器
主機名:www.apache.essun.com
IP位址:eth0:192.168.1.10/24
DNS:192.168.1.50
第二台HTTPD伺服器
IP位址:eth0:192.168.1.20/24
httpd-vhost檔案内容如下:(兩台配置檔案完全相同)
<a href="http://s3.51cto.com/wyfs02/M01/23/26/wKioL1MyoibjlhuDAAHsPdVDVak343.jpg" target="_blank"></a>
在寫虛拟主機通過fcgi來處理php請求時的位址要指向本實驗的PHP伺服器的IP位址
②在每一台伺服器上添加一個普通使用者,用于可以通路共享,要與NFS伺服器上建立的使用者UID相同
<code>#useradd u 1000 http</code>
<code># echo "http" | passwd --stdin http</code>
========================================================================================
3、編譯安裝PHP
IP位址:eth0:192.168.1.30/24
②要修改監聽的IP位址。
③安裝nfs.
<code>#yum install nfs -y</code>
④挂載一個新硬碟或分區到PHP伺服器站點目錄
<a href="http://s3.51cto.com/wyfs02/M01/23/1D/wKiom1MyR83RcxwHAACPE-xcCII952.jpg" target="_blank"></a>
⑤共享此目錄
<a href="http://s3.51cto.com/wyfs02/M01/23/1F/wKioL1MySMOR1ZawAACrGSVm-eo701.jpg" target="_blank"></a>
⑥添加一個使用者
⑦給共享目錄授權
<code>#chown -R root:http /www/web</code>
<code>#chmod -R 775 /www/web</code>
⑧啟動NFS服務
<code>#service nfs start</code>
===================================到此PHP與NFS安裝完畢=============================
4、安裝Mysql
前提
IP位址:eth0:192.168.1.40/24
②建立立一個資料庫
<code>mysql>create database </code><code>test</code><code>;</code>
<a href="http://s3.51cto.com/wyfs02/M02/23/1E/wKiom1MyWRHz25QWAAD3U4ffH44296.jpg" target="_blank"></a>
③授權使用者
<code>mysql>GRANT ALL PRIVILEGES ON </code><code>test</code><code>.* TO </code><code>'root'</code><code>@</code><code>'192.168.1.30'</code><code>IDENTIFIED BY </code><code>'mysql'</code> <code>;</code>
===============================================mysql相關配置完成========================
5、測試
1、安裝discuz
下載下傳最新版本的discuz解壓到PHP的共享站點目錄
<a href="http://s3.51cto.com/wyfs02/M00/23/20/wKioL1MyX5CAI1sTAADLkY55JZ4828.jpg" target="_blank"></a>
修改配置檔案
<code>#cd /www/web/upload/config</code>
<code>#cp config_global_default.php config_global.php</code>
<code>#vim config.global.php</code>
<a href="http://s3.51cto.com/wyfs02/M01/23/26/wKioL1Mym1ewwjdVAAG0wrWCcHs050.jpg" target="_blank"></a>
要對upload目錄給權限(安裝需要)
#chmod 777 upload/
2、将PHP上的共享目錄挂載到前端
注:APACHE1的挂載方法與此相同。
3、安裝discuz
通過浏覽器通路www.aache.essun.com/upload就可以在web界面安裝discuz論壇了,安裝完成後,會讓你輸入管理者密碼,确認後就可以管理論壇了。
4、網絡測試
我的測試環境
實體機:
<a href="http://s3.51cto.com/wyfs02/M00/23/25/wKiom1MynnyCQeLPAAF_LWCXLbE513.jpg" target="_blank"></a>
通過VMnet1與虛拟機中的DNS相連。
<a href="http://s3.51cto.com/wyfs02/M02/23/26/wKioL1MynqCz7U2WAAGL4L9XnXc682.jpg" target="_blank"></a>
虛拟機中的其它伺服器通過VMnet8相連
<a href="http://s3.51cto.com/wyfs02/M00/23/26/wKioL1MynuGx6bGiAAGRJ77dvWo415.jpg" target="_blank"></a>
(經過多方測試,還是用了VMnet8,這樣10段的網絡相當于沒有生效。。。)
實體機與虛拟機的伺服器測試
<a href="http://s3.51cto.com/wyfs02/M01/23/25/wKiom1Myn5fTRWuBAAFza-tvz_c197.jpg" target="_blank"></a>
5、論壇測試
APACHE1
<a href="http://s3.51cto.com/wyfs02/M01/23/26/wKioL1Myn8WgY8gLAAHw55C8E2E023.jpg" target="_blank"></a>
APACHE2
<a href="http://s3.51cto.com/wyfs02/M02/23/26/wKioL1Myn-ORW0kyAAJf8_enIwQ854.jpg" target="_blank"></a>
FQDN
<a href="http://s3.51cto.com/wyfs02/M00/23/26/wKioL1MyoAOQr7yQAAJ5eFp6jAM803.jpg" target="_blank"></a>
由于兩台主機的FQDN相同,是以無法判斷通路的是那一台主機,那我用dig測試一下,服務是怎麼響應的
<a href="http://s3.51cto.com/wyfs02/M00/23/25/wKiom1MyoQ6w8qPsAAEZIiMObnA644.jpg" target="_blank"></a>
第二次
<a href="http://s3.51cto.com/wyfs02/M01/23/25/wKiom1MyoTHS2tu1AAG7cYG0448221.jpg" target="_blank"></a>
第三次
<a href="http://s3.51cto.com/wyfs02/M00/23/25/wKiom1MyoUqwXCWZAAG4K7qVo9U392.jpg" target="_blank"></a>
看到了吧,DNS随機解析,也不能說明就能實作智能解析,我們知道DNS解析過的域名是有緩存的,是以用這種方式還是不妥的,這裡僅是實驗,将之前的知識結合起來運用,就沒有問題了
===================================到此本實驗測試結束================================
本文轉自 jinlinger 51CTO部落格,原文連結:http://blog.51cto.com/essun/1384682,如需轉載請自行聯系原作者