<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      haproxy-詳解

      負載均衡類型:

      四層:

      LVS (Linux Virtual Server)
      HAProxy (High Availability Proxy)
      Nginx (1.9以上)

      七層:

       

      HAProxy
      Nginx

      硬件:

       

      F5 https://F5.com/zh

      Netscaler https://www.citrix.com.cn/products/citrix-adc

      Array https://www.arraynetworks.com.cn

      深信服 http://www.sangfor.com.cn

      北京靈州 http://www.lingzhou.com.cn/cpzx/llfzjh

       

       

      應用 場景

      四層: Redis   Mysql  rabbitmq  memcache 等
      七層: nginx   tomcat apache php   圖片 動靜分離 API 等

       

      HAProxy安裝及基礎配置

      https://www.haproxy.org/

      image-20211213172817104

       

      image-20211213172911392

       

      debian apt 安裝

      image-20211213173031447

      如圖所示按自己的 debian 版本 和 需要安裝的 haproxy 版本 自行選擇

       

       

      安裝最新長期穩定版 debian 需要導入一個新包的配置
      不知道咋回事 haproxy 官方的給的代碼 上圖中 是錯誤的
      需要 vim /etc/apt/sources.list.d/backports.list
      插入下面一行代碼
      deb http://deb.debian.org/debian bullseye-backports main       #debian官方給的
      ?
      apt update   更新一下源
      apt install -t bullseye-backports haproxy=2.4.\*     安裝的時候需要指定 -t bullseye-backports
      ?

       

      https://backports.debian.org/Instructions/ debian官方的backports 配置

       

       

       

       

       

      ubuntu apt 安裝

       

      image-20211213174413415

       

      如圖所示  按照自己的 ubuntu 版本  和  所需的haproxy 版本 自行選擇  

       

       

       

       

       

       

      centos7 yum 安裝

       

      CentOS 中yum安裝版本太低,是1.5版本

      可以添加yum源

      使用其他的yum源,我們這里就使用IUS源。

      IUS is a yum repository that provides newer versions of select software for RHEL and CentOS.

      它為CentOS按RHEL提供最新軟件版本的yum源。

       

      vim /etc/yum.repos.d/ius-7.repo
      ?
      ?
      ?
      [ius]
      ?
      name = IUS for Enterprise Linux 7 - $basearch
      ?
      baseurl = https://repo.ius.io/7/$basearch/
      ?
      enabled = 1
      ?
      repo_gpgcheck = 0
      ?
      gpgcheck = 1
      ?
      gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
      ?
      [ius-debuginfo]
      ?
      name = IUS for Enterprise Linux 7 - $basearch - Debug
      ?
      baseurl = https://repo.ius.io/7/$basearch/debug/
      ?
      enabled = 0
      ?
      repo_gpgcheck = 0
      ?
      gpgcheck = 1
      ?
      gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
      ?
      [ius-source]
      ?
      name = IUS for Enterprise Linux 7 - Source
      ?
      baseurl = https://repo.ius.io/7/src/
      ?
      enabled = 0
      ?
      repo_gpgcheck = 0
      ?
      gpgcheck = 1
      ?
      gpgkey = https://repo.ius.io/RPM-GPG-KEY-IUS-7
      ?
      ?
      ?
      清理緩存:yum clean all
      更新緩存:yum makecache fast
      ?
      ?

       

       

       

       

       

      編譯安裝 centos7

       

      https://www.haproxy.org/

      image-20211213194509129

      點擊Latest version 選擇 源碼包的 版本

       

      https://www.lua.org/ # lua官網

      ?
      ?
      ?
      ?
      yum install gcc openssl-devel readline-devel systemd-devel make pcre-devel #依賴包
      ?
      ?
      ?
      wget https://www.haproxy.org/download/2.3/src/haproxy-2.3.16.tar.gz   #右鍵點擊復制連接
      ?
      curl https://www.lua.org/ftp/lua-5.3.5.tar.gz > lua-5.3.5.tar.gz #haproxy如果編譯開啟lua 需要安裝lua
      ?
      tar xf lua-5.3.5.tar.gz -C /usr/local/src/       #解壓lua  
      ?
      cd /usr/local/src/lua-5.3.5  
      ?
      make INSTALL_TOP=/usr/local/lua-5.3.5 linux install   #安裝lua
      ?
      ?
      ?
      ?
      ?
      tar xf haproxy-2.2.19.tar.gz -C /usr/local/src/     #解壓haproxy
      ?
      cd /usr/local/src/haproxy-2.2.19/    
      ?
      編譯參數: 可以查看當前目錄里邊的 INSTALL 和 README 文件   看需求編譯
      ?
      ?
      ?
      make -j $(nproc) TARGET=linux-glibc                 USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 USE_PCRE=1 USE_SYSTEMD=1 LUA_INC=/usr/local/lua-5.3.5/include LUA_LIB=/usr/local/lua-5.3.5/lib    
      ?
      make PREFIX=/usr/local/haproxy-2.2.19 install     #編譯安裝
      ln -sv /usr/local/haproxy-2.2.19/ /usr/local/haproxy   #做個軟連接
      ?
      ?
      ?
      ?
      用 systemd 管理 haproxy
      ?
      vim /usr/lib/systemd/system/haproxy.service   #加入如下代碼,或者用yum 安裝一個 直接照抄 修改一些關鍵屬性  
      ?
      [Unit]
      Description=HAProxy Load Balancer
      After=network-online.target
      Wants=network-online.target
      ?
      [Service]
      EnvironmentFile=-/etc/sysconfig/haproxy
      Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
      ExecStartPre=/usr/local/haproxy/sbin/haproxy -f $CONFIG -c -q $OPTIONS
      ExecStart=/usr/local/haproxy/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS
      ExecReload=/usr/local/haproxy/sbin/haproxy -f $CONFIG -c -q $OPTIONS
      ExecReload=/bin/kill -USR2 $MAINPID
      KillMode=mixed
      SuccessExitStatus=143
      Type=notify
      ?
      [Install]
      WantedBy=multi-user.target
      ?
      ?
      ?
      ?
      ?
      systemctl daemon-reload       # 重啟一下system 服務
      ?
      ?
      ?
      ?
      ?
      ?
      還不能啟動   需要 根據上述代碼中的指定的路徑 創建編寫配置文件
      mkdir /var/lib/haproxy
      mkdir /etc/haproxy
      vim /etc/haproxy/haproxy.service   加入如下代碼, PS企業常用配置  
      ?
      ?
      ——————————————————————————————————————————————————————————————————————————————————-——
      ?
      ?
      global
      maxconn 100000
      chroot /usr/local/haproxy
      stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
      uid 99
      gid 99
      daemon
      #nbproc 4
      #cpu-map 1 0
      #cpu-map 2 1
      #cpu-map 3 2
      #cpu-map 4 3
      #nbthread 4
      spread-checks 5
      pidfile /var/lib/haproxy/haproxy.pid
      log 127.0.0.1 local3 info
      ?
      ?
      defaults
      option redispatch
      #option abortonclose
      option http-keep-alive
      option forwardfor
      maxconn 100000
      mode http
      timeout connect 30s
      timeout client 60ms
      timeout server 60ms
      ?
      ?
      ?
      listen stats
      mode http
      bind 0.0.0.0:9999
      stats enable
      log global
      stats uri /haproxy-status
      stats auth luoluo:angel4239360
      ?
      ?
      ————————————————————————————————-————————————————————-——————--——
      ?
      systemctl start haproxy
      ?
      ?
      ?
      ?
      ?
      ?
      ?
      ?
      ?
      ?

       

       

       

       

      haproxy 配置參數

       

      image-20211214221312020

       

      image-20211214224137314

       

      global             #全局配置
      maxconn 100000       #單個進程的最大并發數,建議調大一點
      ?
      ?
      最大連接數
      chroot /usr/local/haproxy                                           #鎖定運行目錄
      #stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin #沒有多進程用這個
      stats socket /var/lib/haproxy/haproxy.sock1 mode 600 level admin process 1
      stats socket /var/lib/haproxy/haproxy.sock2 mode 600 level admin process 2
      這樣寫, 防止開啟多進程模式下,服務器上線,下線時,利用 socat 動態關閉,開啟,或者更改 權重時,會有其他進程沒有關掉,或開啟。用socat關閉或者開啟的時候要把多個sock全都關閉或者開啟 (通俗來說就是多個人干活,我只通知了一個人,其他人不知道)
      ?
      uid 99     #nobody 用戶
      gid 99      
      daemon         #已守護進程方式運行
      spread-checks 5   #后端server狀態check隨機提前或延遲百分比時間,建議2-5(20%-50%)之間
      #nbproc 4       # 相當于 nginx 的綁定 cpu 開啟多進程 cpu-map 表示哪個進程綁定在哪個cpu上
      #cpu-map 1 0
      #cpu-map 2 1
      #cpu-map 3 2
      #cpu-map 4 3
      nbthread 4       # 表示開啟多個線程   跟nbproc是沖突的,只能選擇一個   建議開啟多進程的,除非單核資源有限
      #pidfile /var/lib/haproxy/haproxy.pid     #pid 文件指定路徑
      log 127.0.0.1 local3 info    
      ?
      ?
      defaults   #默認設置模塊,如果后邊寫到了這里就不生效了
      option redispatch     #當server ID對應的服務器掛掉后,強制定向到其他健康的服務器,重新派發
      #option abortonclose   #當服務器負載很高的時候,自動結束掉當前隊列處理比較久的連接   不建議開啟,看具體需求
      option http-keep-alive #開啟會話保持
      option forwardfor     #透傳客戶端真實IP至后端web服務器
      maxconn 100000     # 單個進程的最大并發數,建議調大一點
      mode http     #設置默認工作類型
      timeout http-keep-alive 120s     # session 會話保持超時時間,范圍內會轉發到相同的后端服務器
      timeout connect 30s # 客戶端請求從 haproxy 到后端 server 的最長連接等待時間 (TCP之前)
      timeout client 60s   #設置 haproxy 與客戶端的最長非活動時間  
      timeout server 60s # 客戶端請求從 haproxy 到后端服務器的請求處理時長 (TCP之后)
      timeout check 5s   #對后端服務器的默認檢測超時時間
                 
      ?
      ?
      ?
      listen stats           這一段頁面監控
      mode http  
      bind 0.0.0.0:9999
      stats enable
      log global
      stats uri /haproxy-status
      stats auth luoluo:angel4239360
      ?
      ?
      ?
      ?
      ?
      ?
      frontend WEB_PORT         負載后端服務器 第一種 寫法   不常用 建議用下面的
      bind :80
      use_backend luoluo-host
      ?
      backend luoluo-host
      server web1 192.168.154.129:80 check addr 192.168.154.129 port 80 inter 2s fall 3 rise 5
      ?
      ?
      ?
      ?
      listen luo                     負載后端服務器 第二種寫法   建議用這種
      bind 192.168.154.173:2333
        server web1 192.168.154.129:80 weight 1 check addr 192.168.154.129 port 80 inter 2s fall 3 rise 5
        server diertai 192.168.154.172:80 weight 1 check inter 2s fall 3 rise 5
      ?
      ?
      ?
      ?
      ?
      ?
      ?

       

       

       

       

       

       

       

      調度算法

       

       

       

       

      image-20211215114437435

       

      image-20211215153417077

       

      image-20211215154102652

      image-20211215155043385

       

       

      image-20211215155522813

      image-20211216214220887

      image-20211216214823745

       

      socat 動態操作 haproxy

      ?
      socat 動態更改的操作,會在 haproxy 重啟,或者reload 時 失效,以配置文件為準
      ?
      ?
      ?
      socat - /var/lib/haproxy/haproxy.sock   #交互式操作
      for i in `seq 5`;do socat - /var/lib/haproxy/haproxy.sock ; done   #循環操作
      echo "help" | socat stdio /var/lib//haproxy/haproxy.sock   #查看幫助信息
      echo "get weight luoluo-host/web1" | socat stdio /var/lib//haproxy/haproxy.sock 查看當前服務器的權重
      echo "set weight luoluo-host/web1 5" | socat stdio /var/lib//haproxy/haproxy.sock 更改當前服務器的權重,靜態算法不支持更改
      echo "set disable server luoluo-host/web1" | socat stdio /var/lib//haproxy/haproxy.sock   關閉當前后端服務器的轉發
      echo "set enable server luoluo-host/web1" | socat stdio /var/lib//haproxy/haproxy.sock 開啟當前后端服務器的轉發
      ?
       

       

      posted @ 2021-12-30 23:06  不用去猜。  閱讀(576)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜在线观看视频播放| 国产日韩精品欧美一区喷水| 天天狠天天透天天伊人| 懂色AV| 亚洲国产精品自产拍久久| 狠狠色婷婷久久综合频道日韩| 深夜视频国产在线观看| 1区2区3区4区产品不卡码网站 | 综合欧美视频一区二区三区| 国产国产人免费人成免费| 色噜噜狠狠色综合成人网| 国产成人综合在线观看不卡| 亚洲乱熟女一区二区三区| 国产亚洲精品VA片在线播放| 五华县| 风流老熟女一区二区三区| 久久这里只有精品好国产| 日本亚洲色大成网站www久久| 人妻少妇88久久中文字幕| 亚洲欧美综合中文| 亚洲aⅴ天堂av天堂无码麻豆| 99久久免费精品色老| 黄色特级片一区二区三区| 日韩精品一区二区三区激情视频| 四虎影院176| 亚洲国产精品日韩av专区| 国产成年码av片在线观看 | 精品卡通动漫亚洲AV第一页| 欧美性猛交xxxx乱大交丰满| 人妻精品中文字幕av| 国产明星精品无码AV换脸| 中文字幕人妻av12| 日韩中文字幕人妻一区| 国产亚洲精品久久综合阿香| 亚洲国产成人精品女人久久久| 久久一区二区中文字幕| 亚洲中文字幕无码日韩精品| 亚洲成AV人片在线观高清| 深夜精品免费在线观看| 99久久国产综合精品色| 亚洲高清 一区二区三区|