實驗基于redhat 5.8,apache2.2,php53,Mysql5.0,且用rpm安裝。如下圖所示
<a href="http://blog.51cto.com/attachment/201207/201611851.jpg" target="_blank"></a>
一,在172.16.150.21伺服器安裝好DNS,且DNS的的正向解析與反向解析的添加兩條www,隻是IP位址不一樣。這要做的作用是,當第一個用戶端請求來了,則開始第一台web去響應,第二個用戶端請求來了,則第二台web去向去響應,以達到負載均衡的作用。
$TTL 600
$ORIGIN bingo.com.
@ IN SOA ns.bingo.com. admin.bingo.com. (
0 ; serial
1H ; refresh
2H ; retry
1H ; expire
3H ) ; minimum
IN NS ns.bingo.com.
IN MX 10 mail.bingo.com.
ns IN A 172.16.150.21
www IN A 172.16.150.20
www IN A 172.16.150.21
二,在兩台web伺服器上yum -y insall httpd php53 php53-mbstring php53-mysql mysql,并将對應的服務啟動。
三,在資料庫伺服器上yum -y insall mysql mysql-server,并啟動服務
四,172.16.150.20的web上配置好/etc/httpd/conf/httpd.conf,注釋DocumentRoot,這一行,啟用NameVirtualHost,并配置好一個虛拟主機,如下圖
<VirtualHost *:80>
DocumentRoot /web/vhost/www
ServerName www.bingo.com
<Directory "/web/vhost/www" >
options none
AllowOverride none
order deny,allow
allow from all
</Directory>
</VirtualHost>
五,下載下傳 Discuz_7.2_FULL_SC_GBK.zip,解壓到Discuz的解壓到資料伺服器中的/web/www下,通過NFS的方式将/web/www/目錄共享出來,
/web/www 172.16.0.0/16(rw,no_root_squash)
并啟動NFS服務。
六,172.16.150.20上挂載此目錄,mount -t nfs 172.16.150.22:/web/www /web/vhost/www(為什麼要挂載這個目錄,因為定義虛拟主機時已經定義好了)
七,上面步驟如果有出錯的請關閉Selinux。此時将window上hosts檔案添加一行172.16.150.20 www.bingo.com,也可以客戶機DNS的IP指定虛拟機的IP。在浏覽器中輸入www.bingo.com/install開始安裝Discuz。其中會提示無法遠端連接配接到mysql,此時需要在mysql上執行遠端授權,并需要建立資料庫discuz。
grant all privileges on *.* to root@'%' identified by 'redhat';
create datebase discuz;
grant all privileges on discuz.* to root@'%' identified by 'redhat';
FLUSH privileges;
八,如果安裝時出現亂碼,則将/etc/httpd/conf/httpd.conf中的UTF-8其中一行注釋,并重新開機服務。安裝時提示需要将/web/vhost/www下檔案需要寫權限,則根據提示将相對應的檔案修改,讓apache使用者有修改權限,為什麼要apache,因為運作httpd程序的這個使用者是apache,在httpd.conf裡已經定義好了。
九,安裝完之後,在浏覽器中中通路www.bingo.com,如果出現圖檔無法顯示,則将/etc/php.ini中的short_open_tag值修改成on。
十,将web配置好的配置檔案/etc/httpd/conf/httpd.conf和/etc/php.ini複制到172.16.150.21上,并注意兩個檔案的屬主與屬組。并挂載mount -t nfs 172.16.150.22:/web/www /web/vhost/www。并重新開機服務,并測試。
十一,在浏覽器先用172.16.150.20,通路論談,并新增賬號上傳圖檔。退出賬号,用172.16.150.21通路論談,登入論談看是否能剛才所發的圖檔。如果OK,apache與mysql分别安裝在不同的伺服器的已經成功,當然此種方法不是最好的解決辦法,畢竟會給mysql資料伺服器造成比較大的壓力
本文轉自 deng304749970 51CTO部落格,原文連結:http://blog.51cto.com/damondeng/931921,如需轉載請自行聯系原作者