haproxy2.0入門部署教程


測試后發現,haproxy2.0和之前的版本部署有些許差異,配置文件的寫法也是不同的

測試環境:Centos7.3

IP:172.16.1.227

  172.16.1.228 部署httpd,頁面內容為this is 228

  172.16.1.230 部署httpd,頁面內容為默認內容

部署步驟:

1.1需要先安裝lua5.3版本,否則后面后報錯

curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz 
yum install readline-devel gcc -y
tar zxvf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux
make INSTALL_TOP=/usr/local/lua install
yum install systemd-devel wget openssl openssl-devel -y

1.2部署haproxy。可以看到安裝PREFIX指定的安裝目錄為/usr/local/haproxy 。haproxy還可以到這個地址下載https://src.fedoraproject.org/repo/pkgs/haproxy/

cd
wget https://www.haproxy.org/download/2.0/src/haproxy-2.0.1.tar.gz
tar
zxvf haproxy-2.0.1.tar.gz cd haproxy-2.0.1 make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 LUA_LIB=/usr/local/lua/lib/ LUA_INC=/usr/local/lua/include/ USE_PCRE=1 USE_SYSTEMD=1 make install PREFIX=/usr/local/haproxy
cd

1.3創建運行用戶(應該也可忽略,只是使用該用戶運行,加強安全而已。我一般是直接使用root用戶運行)

useradd haproxy -s /sbin/nologin

1.4創建配置文件haproxy.cfg。在安裝目錄/usr/local/hadproxy下新建haproxy.cfg,內容如下 配置文件參考鏈接:https://blog.csdn.net/genglei1022/article/details/83374188

[root@node2 haproxy]# cat haproxy.cfg
global  #全局設置
   daemon  #以后台進程運行
   maxconn 256  #每個進程的最大連接數
   nbproc 1  #進程數,該值可以設置小於或等於cpu核心數

  balance roundrobin #默認的負載均衡的方式,輪詢方式 
  #balance source #默認的負載均衡的方式,類似nginx的ip_hash 
  #balance leastconn #默認的負載均衡的方式,最小連接 

defaults  #默認設置
  mode http  #設置http(七層模式),也可設置為tcp(四層模式),另外還有一個Health健康監測模式。對mysql進行負載均衡的話,這里記得修改為tcp
  timeout connect 5000ms
  timeout client 50000ms
  timeout server 50000ms
  

listen admin_stats #配置haproxy管理頁面
  bind *:9999  #訪問端口為9999
  mode http
  option httplog
  stats refresh 30s  #自動刷新時間
  stats uri /stats  #項目名為status,ip+端口+項目名即可訪問
  stats auth admin:admin  #配置管理用戶賬號密碼
  stats admin if TRUE
  stats hide-version

frontend http-in  #配置前端訪問端口
  bind *:1080  #通過該端口進行負載均衡
  default_backend servers  #指定后端服務器

backend servers
  server server1 172.16.1.230:80 check inter 2000 rise 3 fall 3 weight 1 maxconn 32  

  #建議加上check,否則后台服務器A宕機了,負載均衡還會把請求發送到該宕機服務器上,inter 2000指check檢測時間為2000毫秒,rise 3檢測3次均正常則表示后天服務器正常,fall 3檢測3次失敗,則會把該后天服務器標志宕機,不再玩該后台服務器發送請求,weight 1指權重,取消weight改為backup,則是所有后台服務器宕機后才會啟用該backup后台服務器
  server server2 172.16.1.227:80 check inter 2000 rise 3 fall 3 weight 1 maxconn 32

1.5使用指定配置文件運行haproxy。建議都haproxy和hadproxy.cfg都使用絕對路徑

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

1.6測試效果

其中228的80端口上我啟用了httpd,頁面內容為this is 228.另外一台230上的80端口也是httpd,頁面為默認內容。使用谷歌瀏覽器訪問172.16.1.227,每次刷新的內容都和上一次不一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM