卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

HAProxy Keepalived實(shí)現(xiàn)web服務(wù)器負(fù)載均衡

HAProxy keepalived實(shí)現(xiàn)web 服務(wù)器負(fù)載均衡說明:操作系統(tǒng):CentOS 5.X 64位Web 服務(wù)器:192.168.21.127、192.168.21.128站點(diǎn):bbs.osy

HAProxy keepalived實(shí)現(xiàn)web 服務(wù)器負(fù)載均衡

說明:

操作系統(tǒng):CentOS 5.X 64位

Web 服務(wù)器:192.168.21.127、192.168.21.128

站點(diǎn):bbs.osyunwei.com 和sns.osyunwei.com 部署在兩臺(tái)Web 服務(wù)器上 實(shí)現(xiàn)目的:

增加兩臺(tái)服務(wù)器(主主模式),通過HAProxy Keepalived實(shí)現(xiàn)Web 服務(wù)器負(fù)載均衡 架構(gòu)規(guī)劃:

HAProxy 服務(wù)器:192.168.21.129、192.168.21.130

虛擬服務(wù)器(VIP ):192.168.21.253、192.168.21.254

部署完成之后:

1、VIP :192.168.21.253指向192.168.21.129;VIP :192.168.21.254指向192.168.21.130;

2、當(dāng)192.168.21.129宕機(jī)時(shí),VIP :192.168.21.253漂移到192.168.21.130上;

3、當(dāng)192.168.21.130宕機(jī)時(shí),VIP :192.168.21.254漂移到192.168.21.129上; 這樣的主主模式好處是,兩臺(tái)服務(wù)器在提供服務(wù)的同時(shí),又互為對(duì)方的備份服務(wù)器。 具體操作:

第一部分:在兩臺(tái)HAProxy 服務(wù)器上分別操作

一、關(guān)閉SElinux 、配置防火墻

1、vi /etc/selinux/config

#SELINUX=enforcing #注釋掉

#SELINUXTYPE=targeted #注釋掉

,

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

2、vi /etc/sysconfig/iptables #編輯

-A RH-Firewall-1-INPUT -d 224.0.0.18 -j ACCEPT #允許組播地址通信

-A RH-Firewall-1-INPUT -p vrrp -j ACCEPT #允許VRRP (虛擬路由器冗余協(xié))通信

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允許80端口通過防火墻

:wq! #保存退出

/etc/init.d/iptables restart #重啟防火墻使配置生效

二、安裝HAProxy

1、創(chuàng)建HAProxy 運(yùn)行賬戶和組

groupaddhaproxy #添加haproxy 組

useradd -ghaproxyhaproxy -s /bin/false #創(chuàng)建nginx 運(yùn)行賬戶haproxy 并加入到haproxy 組,不允許haproxy 用戶直接登錄系統(tǒng)

2、安裝編譯工具

yum install gccgcc-c make openssl-devel kernel-devel

3、安裝HAProxy

HAProxy 下載地址:http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz 上傳haproxy-1.4.24.tar.gz 到/usr/local/src目錄中

,

cd /usr/local/src #進(jìn)入軟件包存放目錄

tar zxvf haproxy-1.4.24.tar.gz #解壓

cd haproxy-1.4.24 #進(jìn)入安裝目錄

make TARGET=linux26 CPU=x86_64 PREFIX=/usr/local/haprpxy #編譯

make install PREFIX=/usr/local/haproxy #安裝

參數(shù)說明:

TARGET=linux26 #使用uname -r查看內(nèi)核,如:2.6.18-371.el5,此時(shí)該參數(shù)就為linux26

CPU=x86_64 #使用uname -r查看系統(tǒng)信息,如x86_64 x86_64x86_64 GNU/Linux,此時(shí)該參數(shù)就為x86_64

PREFIX=/usr/local/haprpxy #/usr/local/haprpxy為haprpxy 安裝路徑

4、設(shè)置HAProxy

mkdir -p /usr/local/haproxy/conf #創(chuàng)建配置文件目錄

mkdir -p /etc/haproxy #創(chuàng)建配置文件目錄

cp

/usr/local/src/haproxy-1.4.24/examples/haproxy.cfg /usr/local/haproxy/conf/haproxy.cfg #拷貝配置模板文件

ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg #添加配置文件軟連接

cp

-r /usr/local/src/haproxy-1.4.24/examples/errorfiles /usr/local/haproxy/errorfiles #拷貝錯(cuò)誤頁(yè)面

,

ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles #添加軟連接

mkdir -p /usr/local/haproxy/log #創(chuàng)建日志文件目錄

touch /usr/local/haproxy/log/haproxy.log #創(chuàng)建日志文件

ln -s /usr/local/haproxy/log/haproxy.log /var/log/haproxy.log #添加軟連接 cp

/usr/local/src/haproxy-1.4.24/examples/haproxy.init /etc/rc.d/init.d/haproxy #拷貝開機(jī)啟動(dòng)文件

chmod x /etc/rc.d/init.d/haproxy #添加腳本執(zhí)行權(quán)限

chkconfighaproxy on #設(shè)置開機(jī)啟動(dòng)

ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin #添加軟連接

5、配置haproxy.cfg 參數(shù)

cp /usr/local/haproxy/conf/haproxy.cfg /usr/local/haproxy/conf/haproxy.cfg-bak #備份

vi /usr/local/haproxy/conf/haproxy.cfg #編輯,修改

#####################################################################

# thisconfig needs haproxy-1.1.28 or haproxy-1.2.1

global

log 127.0.0.1 local0 #在本機(jī)記錄日志

log 127.0.0.1 local1 notice

#log loghost local0 info

,

maxconn 65535 #每個(gè)進(jìn)程可用的最大連接數(shù)

chroot /usr/local/haproxy #haproxy安裝目錄

uid 500 #運(yùn)行haproxy 的用戶uid (cat /etc/passwd查看)

gid 500 #運(yùn)行haproxy 的組uid (cat /etc/group查看)

daemon #以后臺(tái)守護(hù)進(jìn)程運(yùn)行

pidfile /usr/local/haproxy/haproxy.pid #將所有進(jìn)程寫入pid 文件

#debug #調(diào)試模式

#quiet #安裝模式

defaults

#log global

log 127.0.0.1 local3 #日志文件設(shè)置

mode http #運(yùn)行模式tcp 、http 、health

option httplog

option httpclose #每次請(qǐng)求完畢后主動(dòng)關(guān)閉http 通道

option dontlognull #不記錄健康檢查的日志信息

option redispatch #如果后端有服務(wù)器宕機(jī),強(qiáng)制切換到正常服務(wù)器

option abortonclose #丟棄由于客戶端等待時(shí)間過長(zhǎng)而關(guān)閉連接但仍在haproxy 等待隊(duì)列中的請(qǐng)求

option forwardfor #獲取客戶端真實(shí)訪問IP

option originalto #記錄客戶端訪問的目的IP

maxconn 65535 #每個(gè)進(jìn)程可用的最大連接數(shù)

,

balance source #同一IP 地址的所有請(qǐng)求都發(fā)送到同一服務(wù)器

retries 3 #三次連接失敗,則判斷服務(wù)不可用

contimeout 5000 #連接超時(shí)

clitimeout 50000 #客戶端超時(shí)

srvtimeout 50000 #服務(wù)器超時(shí)

timeout check 5s #檢測(cè)超時(shí)

stats refresh 30s #統(tǒng)計(jì)頁(yè)面自動(dòng)刷新時(shí)間

stats uri /haproxy-status #統(tǒng)計(jì)頁(yè)面URL 路徑

stats realm haproxy-status #統(tǒng)計(jì)頁(yè)面輸入密碼框提示信息

stats auth admin:123456 #統(tǒng)計(jì)頁(yè)面用戶名和密碼

stats hide-version #隱藏統(tǒng)計(jì)頁(yè)面上HAProxy 版本信息

frontend web #自定義描述信息

bind :80 #監(jiān)聽80端口

acl bbs.osyunwei.com hdr(host) -i bbs.osyunwei.com #規(guī)則設(shè)置,-i 后面是要訪問的域名,如果訪問bbs.osyunwei.com 這個(gè)域名,就負(fù)載均衡到bbs.osyunwei.com 作用域

use_backend bbs.osyunwei.com if bbs.osyunwei.com #acl和if 后面的名稱必須相同這里為bbs.osyunwei.com

acl sns.osyunwei.com hdr(host) -i sns.osyunwei.com #規(guī)則設(shè)置,-i 后面是要訪問的域名,如果訪問sns.osyunwei.com 這個(gè)域名,就負(fù)載均衡到sns.osyunwei.com 作用域

use_backend sns.osyunwei.com if sns.osyunwei.com

backend bbs.osyunwei.com

mode http

,

balance source

#option httpchk /index.php #檢測(cè)服務(wù)器此文件是否存在,如果沒有,則認(rèn)為服務(wù)器連接異常,此參數(shù)可以不設(shè)置

server 192.168.21.127 192.168.21.127:80 check inter 2000 rise

3 fall 3 weight 100 #inter 2000 心跳檢測(cè)時(shí)間;rise 3 三次連接成功,表示服務(wù)器正常;fall 3 三次連接失敗,表示服務(wù)器異常; weight 100 權(quán)重設(shè)置

server 192.168.21.128 192.168.21.128:80 check inter 2000 rise

3 fall 3 weight 100

backend sns.osyunwei.com

mode http

balance source #設(shè)置負(fù)載均衡模式,source 保存session 值,roundrobin 輪詢模式 #option httpchk /index.php #檢測(cè)服務(wù)器此文件是否存在,如果沒有,則認(rèn)為服務(wù)器連接異常,此參數(shù)可以不設(shè)置

server 192.168.21.127 192.168.21.127:80 check inter 2000 rise

3 fall 3 weight 100

server 192.168.21.128 192.168.21.128:80 check inter 2000 rise

3 fall 3 weight 100

#errorloc 503 http://www.osyunwei.com/404.html

errorfile 403 /etc/haproxy/errorfiles/403.http

errorfile 500 /etc/haproxy/errorfiles/500.http

,

errorfile 502 /etc/haproxy/errorfiles/502.http

errorfile 503 /etc/haproxy/errorfiles/503.http

errorfile 504 /etc/haproxy/errorfiles/504.http

#####################################################################

:wq! #保存退出

service haproxy start #啟動(dòng)

service haproxy stop #關(guān)閉

service haproxy restart #重啟

6、設(shè)置HAProxy 日志

vi /etc/syslog.conf #編輯,在最下邊增加

# haproxy.log

local0.* /var/log/haproxy.log

local3.* /var/log/haproxy.log

:wq! #保存退出

vi /etc/sysconfig/syslog #編輯修改

SYSLOGD_OPTIONS="-r -m 0" #接收遠(yuǎn)程服務(wù)器日志

:wq! #保存退出

service syslog restart #重啟syslog

三、安裝keepalived

,

下載keeplived :http://www.keepalived.org/software/keepalived-1.2.12.tar.gz 上傳keepalived-1.2.12.tar.gz 到/usr/local/src目錄

cd /usr/local/src

tarzxvf keepalived-1.2.12.tar.gz

cd keepalived-1.2.12

./configure #配置,必須看到以下提示,說明配置正確,才能繼續(xù)安裝

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

Use VRRP Framework : Yes

make #編輯

make install #安裝

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

cp /usr/local/sbin/keepalived /usr/sbin/

cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

chmod x /etc/rc.d/init.d/keepalived #添加執(zhí)行權(quán)限

chkconfigkeepalived on #設(shè)置開機(jī)啟動(dòng)

service keepalived start #啟動(dòng)

service keepalived stop #關(guān)閉

,

service keepalived restart #重啟

四、配置keepalived

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf-bak vi /etc/keepalived/keepalived.conf #編輯,修改為以下代碼

######################################################### #以下為192.168.21.129服務(wù)器:

! Configuration File for keepalived

global_defs {

notification_email {

acassen@firewall.loc

failover@firewall.loc

sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 192.168.200.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_scriptchk_haproxy {

標(biāo)簽: