<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## linux-編譯安裝 ``` wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.2.tar.gz tar -xzf haproxy-1.7.2.tar.gz ``` ``` make PREFIX=/home/ha/haproxy TARGET=linux2628 make install PREFIX=/home/ha/haproxy ``` PREFIX為指定的安裝路徑,TARGET則根據當前操作系統內核版本指定: ``` - linux22 for Linux 2.2 - linux24 for Linux 2.4 and above (default) - linux24e for Linux 2.4 with support for a working epoll (> 0.21) - linux26 for Linux 2.6 and above - linux2628 for Linux 2.6.28, 3.x, and above (enables splice and tproxy) ``` ### 創建HAProxy配置文件 ``` > mkdir -p /home/ha/haproxy/conf > vi /home/ha/haproxy/conf/haproxy.cfg global #全局屬性 daemon #以daemon方式在后臺運行 maxconn 256 #最大同時256連接 pidfile /home/ha/haproxy/conf/haproxy.pid #指定保存HAProxy進程號的文件 defaults #默認參數 mode http #http模式 timeout connect 5000ms #連接server端超時5s timeout client 50000ms #客戶端響應超時50s timeout server 50000ms #server端響應超時50s frontend http-in #前端服務http-in bind *:8080 #監聽8080端口 default_backend servers #請求轉發至名為"servers"的后端服務 backend servers #后端服務servers server server1 127.0.0.1:8000 maxconn 32 #backend servers中只有一個后端服務,名字叫server1,起在本機的8000端口,HAProxy同時最多向這個服務發起32個連接 ``` > 注意:HAProxy要求系統的ulimit -n參數大于[maxconn*2+18],在設置較大的maxconn時,注意檢查并修改ulimit -n參數 <details> <summary>/etc/init.d/haproxy</summary> ``` #! /bin/sh set -e PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/ha/haproxy/sbin PROGDIR=/home/ha/haproxy PROGNAME=haproxy DAEMON=$PROGDIR/sbin/$PROGNAME CONFIG=$PROGDIR/conf/$PROGNAME.cfg PIDFILE=$PROGDIR/conf/$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 -e "Starting $DESC: $PROGNAMEn" $DAEMON -f $CONFIG echo "." } stop() { echo -e "Stopping $DESC: $PROGNAMEn" haproxy_pid="$(cat $PIDFILE)" kill $haproxy_pid echo "." } restart() { echo -e "Restarting $DESC: $PROGNAMEn" $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 ``` </details> <br/> ### 控制服務 ``` service haproxy start service haproxy stop service haproxy restart ``` ### 添加日志 HAProxy不會直接輸出文件日志,所以我們要借助Linux的rsyslog來讓HAProxy輸出日志 修改 haproxy.cfg ``` global ... log 127.0.0.1 local0 info log 127.0.0.1 local1 warning ... defaults ... log global ... ``` 描述 - 將info級(及以上)的日志推送到rsyslog的local0接口 - 將warn級(及以上)的日志推送到rsyslog的local1接口 - 所有frontend都默認使用global中的日志配置 > info級的日志會打印HAProxy處理的每一條請求,會占用很大的磁盤空間,在生產環境中,建議將日志級別調整為notice ### 為rsyslog添加haproxy日志的配置 ``` vi /etc/rsyslog.d/haproxy.conf $ModLoad imudp $UDPServerRun 514 $FileCreateMode 0644 #日志文件的權限 $FileOwner ha #日志文件的owner local0.* /var/log/haproxy.log #local0接口對應的日志輸出文件 local1.* /var/log/haproxy_warn.log #local1接口對應的日志輸出文件 ``` 修改rsyslog的啟動參數 ``` vi /etc/sysconfig/rsyslog # Options for rsyslogd # Syslogd options are deprecated since rsyslog v3. # If you want to use them, switch to compatibility mode 2 by "-c 2" # See rsyslogd(8) for more details SYSLOGD_OPTIONS="-c 2 -r -m 0" ``` **重啟rsyslog和HAProxy** ``` service rsyslog restart service haproxy restart ``` ### 用logrotate進行日志切分 ``` mkdir /root/logrotate vi /root/logrotate/haproxy /var/log/haproxy.log /var/log/haproxy_warn.log { #切分的兩個文件名 daily #按天切分 rotate 7 #保留7份 create 0644 ha ha #創建新文件的權限、用戶、用戶組 compress #壓縮舊日志 delaycompress #延遲一天壓縮 missingok #忽略文件不存在的錯誤 dateext #舊日志加上日志后綴 sharedscripts #切分后的重啟腳本只運行一次 postrotate #切分后運行腳本重載rsyslog,讓rsyslog向新的日志文件中輸出日志 /bin/kill -HUP $(/bin/cat /var/run/syslogd.pid 2>/dev/null) &>/dev/null endscript } ``` 并配置在crontab中運行: ``` 0 0 * * * /usr/sbin/logrotate /root/logrotate/haproxy ``` ## linux-yum 安裝 ``` > yum install haproxy // 列出安裝位置 /etc/haproxy /etc/haproxy/haproxy.cfg /etc/logrotate.d/haproxy /etc/sysconfig/haproxy /usr/bin/halog /usr/bin/iprange /usr/lib/systemd/system/haproxy.service /usr/sbin/haproxy /usr/sbin/haproxy-systemd-wrapper ... ``` 可以發現 yum 安裝自動進行了配置 啟動服務 ``` > systemctl start haproxy ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看