日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Haproxy安装及配置(转)

發(fā)布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Haproxy安装及配置(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.安裝

# wget?http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz

# tar zcvf haproxy-1.3.20.tar.gz

# cd haproxy-1.3.20

# make TARGET=linux26 PREFIX=/usr/local/haproxy ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#將haproxy安裝到/usr/local/haproxy

# make install PREFIX=/usr/local/haproxy

2.配置

安裝完畢后,進入安裝目錄配置文件,默認情況下目錄里是沒有.cfg配置文件的,可以回到安裝文件目錄下將examples下的haproxy.cfg拷貝到usr/local/haproxy下。

# cd /usr/local/haproxy

# vi haproxy.cfg

?

默認文件內(nèi)容如下: # this config needs haproxy-1.1.28 or haproxy-1.2.1 global log 127.0.0.1?local0 log 127.0.0.1?local1 notice #log loghost?local0 info maxconn 4096 chroot /usr/share/haproxy uid 99 gid 99 daemon #debug #quiet defaults log?global mode?http option?httplog option?dontlognull retries 3 redispatch maxconn 2000 contimeout?5000 clitimeout?50000 srvtimeout?50000 listen?appli1-rewrite 0.0.0.0:10001 cookie?SERVERID rewrite balance roundrobin server?app1_1 192.168.34.23:8080 cookie app1inst1 check inter 2000 rise 2 ?fall 5 server?app1_2 192.168.34.32:8080 cookie app1inst2 check inter 2000 rise 2 ?fall 5 server?app1_3 192.168.34.27:8080 cookie app1inst3 check inter 2000 rise 2 ?fall 5 server?app1_4 192.168.34.42:8080 cookie app1inst4 check inter 2000 rise 2 ?fall 5 listen?appli2-insert 0.0.0.0:10002 option?httpchk balance roundrobin cookie?SERVERID insert indirect nocache server?inst1 192.168.114.56:80 cookie server01 check inter 2000 fall 3 server?inst2 192.168.114.56:81 cookie server02 check inter 2000 fall 3 capture cookie vgnvisitor= len 32 option?httpclose?# disable keep-alive rspidel ^Set-cookie:\ IP=?# do not let this cookie tell our internal IP address listen?appli3-relais 0.0.0.0:10003 dispatch 192.168.135.17:80 listen?appli4-backup 0.0.0.0:10004 option?httpchk /index.html option?persist balance roundrobin server?inst1 192.168.114.56:80 check inter 2000 fall 3 server?inst2 192.168.114.56:81 check inter 2000 fall 3 backup listen?ssl-relay 0.0.0.0:8443 option?ssl-hello-chk balance source server?inst1 192.168.110.56:443 check inter 2000 fall 3 server?inst2 192.168.110.57:443 check inter 2000 fall 3 server?back1 192.168.120.58:443 backup listen?appli5-backup 0.0.0.0:10005 option?httpchk * balance roundrobin cookie?SERVERID insert indirect nocache server?inst1 192.168.114.56:80 cookie server01 check inter 2000 fall 3 server?inst2 192.168.114.56:81 cookie server02 check inter 2000 fall 3 server?inst3 192.168.114.57:80 backup check inter 2000 fall 3 capture cookie ASPSESSION len 32 srvtimeout?20000 option?httpclose?# disable keep-alive option?checkcache?# block response if set-cookie & cacheable rspidel ^Set-cookie:\ IP=?# do not let this cookie tell our internal IP address errorloc?502?http://192.168.114.58/error502.html errorfile?503?/etc/haproxy/errors/503.http

根據(jù)實際需求,更改配置文件,我的配置如下

global ? ? ? ? ? #全局設(shè)置

? ? ? ?log 127.0.0.1 ? local0 ? ? ?#日志輸出配置,所有日志都記錄在本機,通過local0輸出

? ? ? ?#log loghost ? ?local0 info

? ? ? ?maxconn 4096 ? ? ? ? ? ??#最大連接數(shù)

? ? ? ?chroot /usr/local/haproxy

? ? ? ?uid 99 ? ? ? ? ? ? ? ? ??#所屬運行的用戶uid

? ? ? ?gid 99 ? ? ? ? ? ? ? ? ??#所屬運行的用戶組

? ? ? ?daemon ? ? ? ? ? ? ? ? ??#以后臺形式運行haproxy

? ? ? ?nbproc 2 ? ? ? ? ? ? ? ??#啟動2個haproxy實例

? ? ? ?pidfile /usr/local/haproxy/haproxy.pid ?#將所有進程寫入pid文件

? ? ? ?#debug

? ? ? ?#quiet

?

defaults ? ? ? ? ? ??#默認設(shè)置

? ? ? ?#log ? ?global

? ? ? ?log ? ? 127.0.0.1 ? ? ? local3 ? ? ? ??#日志文件的輸出定向

? ? ? ?mode ? ?http ? ? ? ??#所處理的類別,默認采用http模式,可配置成tcp作4層消息轉(zhuǎn)發(fā)

? ? ? ?option ?httplog ? ? ??#日志類別,采用httplog

? ? ? ?option ?dontlognull ?

? ? ? ?option ?forwardfor ??#如果后端服務(wù)器需要獲得客戶端真實ip需要配置的參數(shù),可以從Http Header中獲得客戶端ip

? ? ? ?option ?httpclose ? ?#每次請求完畢后主動關(guān)閉http通道,haproxy不支持keep-alive,只能模擬這種模式的實現(xiàn)

? ? ? ?retries 3 ? ? ? ? ??#3次連接失敗就認為服務(wù)器不可用,主要通過后面的check檢查

? ? ? ?option ?redispatch ??#當(dāng)serverid對應(yīng)的服務(wù)器掛掉后,強制定向到其他健康服務(wù)器

? ? ? ?maxconn 2000 ? ? ? ? ? ? ? ? ? ??#最大連接數(shù)

stats ? uri ? ? /haproxy-admin ?#haproxy 監(jiān)控頁面的訪問地址

? ? ? ?contimeout ? ? ?5000 ? ? ? ? ? ?#連接超時時間

? ? ? ?clitimeout ? ? ?50000 ? ? ? ? ??#客戶端連接超時時間

? ? ? ?srvtimeout ? ? ?50000 ? ? ? ? ??#服務(wù)器端連接超時時間

?

stats auth ?Frank:Frank ??#設(shè)置監(jiān)控頁面的用戶和密碼:Frank

?

stats hide-version ? ? ? ??#隱藏統(tǒng)計頁面的HAproxy版本信息



frontend http-in ? ? ? ? ? ? ? ? ? ? ? ?#前臺

? ? ? ?bind *:80

? ? ? ?mode ? ?http

? ? ? ?option ?httplog

? ? ? ?log ? ? global

? ? ? ?default_backend htmpool ? ? ??#靜態(tài)服務(wù)器池

?

backend htmpool ? ? ? ? ? ? ? ? ? ?#后臺

? ? ? ?balance leastconn#負載均衡算法

? ? ? ?option ?httpchk HEAD /index.htm HTTP/1.0 ? ? ??#健康檢查

? ? ? ?server ?web1 10.16.0.9:8085 cookie 1 weight 5 check inter 2000 rise 2 fall 3

? ? ? ?server ?web2 10.16.0.10:8085 cookie 2 weight 3 check inter 2000 rise 2 fall 3

?

#cookie 1表示serverid為1,check inter 1500 是檢測心跳頻率

?

?#rise 2是2次正確認為服務(wù)器可用,fall 3是3次失敗認為服務(wù)器不可用,weight代表權(quán)重

?

3.加上日志支持

# vim /etc/syslog.conf

在最下邊增加
local3.* ? ? ? ? /var/log/haproxy.log
local0.* ? ? ? ? /var/log/haproxy.log

?

#vim /etc/sysconfig/syslog

修改:?SYSLOGD_OPTIONS="-r -m 0"

重啟日志服務(wù)service syslog restart

?

4.設(shè)置開機啟動

為了方便系統(tǒng)在開機時加載,還可以創(chuàng)建啟動腳本:
# vim /etc/rc.d/init.d/haproxy ?內(nèi)容如下:

#! /bin/sh
set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=$PROGDIR/$PROGNAME.conf
PIDFILE=$PROGDIR/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

start()
{
? ? ? ?echo -n "Starting $DESC: $PROGNAME"
? ? ? ?$DAEMON -f $CONFIG
? ? ? ?echo "."
}

stop()
{
? ? ? ?echo -n "Stopping $DESC: $PROGNAME"
? ? ? ?haproxy_pid=cat $PIDFILE
? ? ? ?kill $haproxy_pid
? ? ? ?echo "."
}

restart()
{
? ? ? ?echo -n "Restarting $DESC: $PROGNAME"
? ? ? ?$DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE)
? ? ? ?echo "."
}

case "$1" in
?start)
? ? ? ?start
? ? ? ?;;
?stop)
? ? ? ?stop
? ? ? ?;;
?restart)
? ? ? ?restart
? ? ? ?;;
?*)
? ? ? ?echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
? ? ? ?exit 1
? ? ? ?;;
esac

exit 0

?

保存后賜予可執(zhí)行權(quán)限
# chmod +x /etc/rc.d/init.d/haproxy

就可以使用 service haproxy start|stop|restart 來控***務(wù)的啟動停止跟重啟。
并通過以下命令加載到開機服務(wù)啟動列表
# chkconfig --add haproxy

?

5.啟動服務(wù)

啟動服務(wù):
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

重啟服務(wù):
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid` ?(沒有換行)

停止服務(wù):
# killall haproxy

?

6.舉例

在瀏覽器中輸入haproxy監(jiān)控地址:http://10.16.0.246:1080/haproxy-admin,如圖所示

?

在瀏覽器輸入haproxy設(shè)置的對外訪問地址:http://10.16.0.244/,如圖所示

?

?

?

參考文獻:

http://network.51cto.com/art/201110/295955_1.htm

http://blog.csdn.net/maijian/article/details/6082283

http://blog.sina.com.cn/s/blog_51d3553f0100u1bb.html

http://andrewyu.blog.51cto.com/1604432/647907

http://blog.chinaunix.net/space.php?uid=22600159&do=blog&id=2124188

http://sookk8.blog.51cto.com/455855/579719

http://freehat.blog.51cto.com/1239536/1347882

http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html

http://jlsfwq.blog.51cto.com/818700/165617

轉(zhuǎn)載于:https://www.cnblogs.com/tonykan/p/3898481.html

總結(jié)

以上是生活随笔為你收集整理的Haproxy安装及配置(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。