需求架構
為後端LAMP架構實作負載均衡,利用LVS實作對2台Web伺服器的請求分攤
<a href="http://s3.51cto.com/wyfs02/M02/24/98/wKioL1NUU9SiwZODAAOoWlDbc9Q541.jpg" target="_blank"></a>
注:172.16.25.0/24是外部網絡,192.168.0.0/24是内部網絡
具體部署
Director
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<code># 配置網絡</code>
<code>/sbin/ifconfig</code> <code>eth0:0 172.16.25.10 broadcast 172.16.25.10 netmask 255.255.255.255 up </code><code># 配置VIP,并限制其位址廣播</code>
<code>/sbin/route</code> <code>add -host 172.16.25.10 dev eth0:0 </code><code># 限制對VIP的通路隻能通過eth0:0接口轉發</code>
<code>/sbin/ifconfig</code> <code>eth1 192.168.0.10 netmask 255.255.255.0 up </code><code># 配置DIP</code>
<code>echo</code> <code>1 > </code><code>/proc/sys/net/ipv4/ip_forward</code>
<code># 清空iptables規則</code>
<code>/sbin/iptables</code> <code>-F</code>
<code>/sbin/iptables</code> <code>-Z</code>
<code>/sbin/iptables</code> <code>-C</code>
<code># 配置ipvs規則</code>
<code>yum </code><code>install</code> <code>ipvsadm </code><code># 直接yum安裝即可</code>
<code>/sbin/ipvsadm</code> <code>-A -t 172.16.25.10:80 -s wlc </code><code># 使用wlc排程算法,172.16.25.10為VIP</code>
<code>/sbin/ipvsadm</code> <code>-a -t 172.16.25.10:80 -r 192.168.0.21 -g -w 2 </code><code># 使用DR模型,後端web節點1是192.168.0.21,權重為2</code>
<code>/sbin/ipvsadm</code> <code>-a -t 172.16.25.10:80 -r 192.168.0.22 -g -w 5 </code><code># 使用DR模型,後端web節點2是192.168.0.22,權重為5</code>
RS1和RS2
<code>/sbin/ifconfig</code> <code>lo down</code>
<code>/sbin/ifconfig</code> <code>lo up</code>
<code>echo</code> <code>1 > </code><code>/proc/sys/net/ipv4/conf/lo/arp_ignore</code>
<code>echo</code> <code>2 > </code><code>/proc/sys/net/ipv4/conf/lo/arp_announce</code>
<code>/sbin/ifconfig</code> <code>lo:0 172.16.25.10 broadcast 172.16.25.10 netmask 255.255.255.255 up</code>
<code>/sbin/route</code> <code>add -host 172.16.25.10 dev lo:0</code>
<code># 配置HTTPD</code>
<code>vi</code> <code>/etc/httpd/extra/httpd-vhosts</code><code>.conf</code>
<code>ProxyRequests Off</code>
<code>ProxyPassMatch ^/(.*\.php)$ fcgi:</code><code>//192</code><code>.168.0.32:9000</code><code>/www/phpwind</code><code>.com/$1</code>
<code># 注:将所有php請求通過fcgi轉發至後端PHP伺服器,虛拟主機的根目錄是/www/phpwind.com</code>
MySQL-NFS
<code># MySQL需配置phpwind安裝所需的資料庫和使用者</code>
<code>create database phpwind;</code>
<code>grant all privileges on phpwind.* to phpwind@</code><code>'192.168.%.%'</code> <code>identified by </code><code>'phpwind123'</code><code>;</code>
<code>flush pricileges;</code>
<code># 配置NFS</code>
<code>vi</code> <code>/etc/exports</code>
<code>/www/phpwind</code><code>.com 192.168.0.0</code><code>/16</code><code>(rw,no_root_squash) </code><code># 本地目錄/www/phpwind.com是phpwind程式的安裝檔案所在,需要作為NFS導出的檔案系統</code>
<code>service nfs start</code>
<code>exportfs -ar </code><code># 重新導出全部NFS檔案系統</code>
PHP
<code>php作為php-fpm程序運作,配置好php-fpm并檢測是否運作正常即可:</code><code>ps</code> <code>-ef |</code><code>grep</code> <code>php-fpm</code>
其它
<code># 在RS1、RS2和PHP伺服器上挂載NFS目錄;因為phpwind的程式檔案不利于靜檔案和動态php檔案分離,故Web伺服器和PHP伺服器都需要挂載NFS目錄,才能實作正常通路</code>
<code>mount</code> <code>-t nfs -o _netdev 192.168.0.31:</code><code>/www/phpwind</code><code>.com </code><code>/www/phpwind</code><code>.com</code>
安裝測試和通路測試
phpwind安裝測試
<a href="http://s3.51cto.com/wyfs02/M01/24/99/wKiom1NUVJaw37xVAA-bYC1h1Qk307.jpg" target="_blank"></a>
phpwind發帖測試
<a href="http://s3.51cto.com/wyfs02/M00/24/98/wKioL1NUVHug0xOwAAesGkFCKxQ781.jpg" target="_blank"></a>
phpwind看帖測試
<a href="http://s3.51cto.com/wyfs02/M02/24/99/wKiom1NUVLKTnzliAAjRRbVXQAY897.jpg" target="_blank"></a>
LVS大量請求測試
<a href="http://s3.51cto.com/wyfs02/M01/24/98/wKioL1NUVJnB8RBzAAJc86bg2Bw558.jpg" target="_blank"></a>
本文轉自 xxrenzhe11 51CTO部落格,原文連結:http://blog.51cto.com/xxrenzhe/1399230,如需轉載請自行聯系原作者