實驗目的:
客戶端訪問vip养距,然后兩臺調(diào)度器哪臺優(yōu)先級高哪臺取得vip和二,通過haproxy提供代理服務贫母,通過調(diào)度算法找到后端的節(jié)點幅虑。
實驗環(huán)境:
1臺客戶端丰滑、2臺haproxy服務器、1臺varnish服務器倒庵、2個lamp主機褒墨、1臺nfs服務器
實驗過程:
1.部署nfs服務器
yum -y install nfs-utils
vim /etc/exports
添加如下內(nèi)容
/usr/share/wordpress/ 172.16.200.103(rw,no_root_squash) 172.16.200.104(rw擎宝,no_root_squash) #no_root_squash表示不壓縮權(quán)限郁妈,在本地使用時權(quán)限仍然為root,不寫這一條可能導致本地不能創(chuàng)建文件绍申。
service rpcbind start
service nfs start
exportfs -v #檢測共享成功
然后下載wordpress安裝包噩咪,解壓到/usr/share/之下
2.在兩臺節(jié)點服務器上部署lamp環(huán)境:
(1)配置php和httpd
yum -y install httpd php mysql-server php-mysql
vim /var/www/html/index.php
<?php
phpinfo();
?>
用瀏覽器訪問http://172.16.200.103/index.php ,出現(xiàn)php頁面證明php和httpd安裝成功
(2)掛載nfs文件系統(tǒng):
yum -y install nfs-utils
mkdir /var/www/html/wordpress/
mount 172.16.200.105:/usr/share/wordpress /var/www/html/wordpress/
(3)然后配置mysql
systemctl start mariadb
mysql_secure_installation #運行mysql初始化程序,給root設置個密碼极阅,然后刪除多余的用戶和庫
mysql -u root -p #輸入密碼后進入mysql
mysql> create database wordpress; #創(chuàng)建專用庫
mysql> grant all on wordpress.* to worduser@'172.16.%.%' identified by '123'; #創(chuàng)建并授權(quán)用戶
(4)測試
完成后訪問172.16.200.103/wordpress,出現(xiàn)wordpress設置頁面胃碾,將在數(shù)據(jù)庫中創(chuàng)建的庫名和用戶名密碼輸入,ip地址填寫為當前l(fā)amp服務器的ip筋搏。然后下一步仆百,這里會提示我們創(chuàng)建配置文件,我們在wordpress目錄下創(chuàng)建這個文件拆又,然后將內(nèi)容粘貼進去:
cd /var/www/html/wordpress/
vim wp-config.php
將網(wǎng)頁中提示的文件內(nèi)容粘貼進去就行儒旬,這里就不在顯示文件內(nèi)容了
然后輸入標題栏账,輸入網(wǎng)站用戶名和密碼帖族,就進入到wordpress中了
3.在兩臺調(diào)度器上安裝haproxy服務,并配置文件挡爵。
yum -y install haproxy
vim /etc/haproxy/haproxy.cfg
#找到frontend main *:5000行竖般,將這行和之后的內(nèi)容都刪除掉,自己定義以下內(nèi)容
frontend web
bind *:80
default_backend websrvs
backend websrvs
balance roundrobin
server srv1 172.16.200.103:80 check
server srv2 172.16.200.104:80 check
然后重啟haproxy,測試
4.部署keepalived
在兩臺調(diào)度器上安裝keepalived,然后部署
這是第一臺的配置
yum -y install keepalived
vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
test.test.io
}
notification_email_from admin@mageedu.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.16.120.18
}
vrrp_script chk_haproxy {
script "killall -o haproxy"
interval 2
weight -10
fall 2
rise 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 16
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.16.200.100
}
track_script {
chk_proxy
}
}
這是第二臺的配置
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 16
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.16.200.100
}
track_script {
chk_proxy
}
}