<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>

                >[info] 簡單的負載平衡 ***** ``` http { upstream myproject { server 127.0.0.1:8000 weight=3; server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; } server { listen 80; server_name www.domain.com; location / { proxy_pass http://myproject; } } } ``` >[info] 負載均衡五個配置實例 ***** * 網絡初始化之listen常見配置 ```Lua listen 127.0.0.1:8000; listen 127.0.0.1; listen 8000; listen *:8000; listen localhost:8000; listen [::]:8000; listen [fe80::1]; listen unix:/var/run/nginx.sock; ``` >[success] 配置實例一 對所有請求實現一般輪詢規則的負載均衡 ``` http { upstream live_node { # 配置后端服務器組 #max_fails默認值為1,fail_timeout默認值為10s,max_fails=0表示不做檢查 server 127.0.0.1:8089 weight=1 max_fails=1 fail_timeout=10s; server 127.0.0.1:8088; keepalive 32; hash $request_uri consistent; } server { listen 80; server_name localhost; location / { proxy_pass http://live_node; # 注意:proxy_pass后面的路徑不帶uri時,其會將location的uri傳遞給后端主機 proxy_set_header Host $host; # 保留客戶端的真實信息 proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_buffer_size 128k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; } } server { # 配置虛擬服務器8088 listen 8088; server_name localhost; location / { root /usr/local/nginx/html2; index index.html index.htm; } } server { # 配置虛擬服務器8089 listen 8089; server_name localhost; location / { root /usr/local/nginx/html3; index index.html index.htm; } } } ``` * Nginx-proxy 詳解文章鏈接 + 查看錯誤日志:`upstream sent too big header while reading response header from upstream` + [Nginx-proxy_buffer_size and fastcgi_buffer](http://blog.csdn.net/u010391029/article/details/50850210) + [http://wiki.nginx.org/NginxHttpProxyModule](http://wiki.nginx.org/NginxHttpProxyModule) + [http://blog.sina.com.cn/s/blog_5dc960cd0100i4mt.html](http://blog.sina.com.cn/s/blog_5dc960cd0100i4mt.html) > 參數:`keepalive connections;` >>補充:`由于短連接消耗前端代理服務器的資源現象嚴重,因此會將一部分連接定義為長連接以節省資源` >>FUN:`#為每個worker進程保留的空閑的長連接數量` >>FUN:`#定義nginx與后端服務器的保持連接的數量` > 參數:`hash $request_uri consistent;` >>FUN:`#[consistent]; 使用一致性哈希算法, 建議開啟此項` >>FUN:`#基于指定的key的hash表來實現對請求的調度,此處的key可以直接文本、變量或二者的組合;` >>FUN:`#將請求分類,同一類請求將發往同一個upstream server;` >[success] 配置實例二:對所有請求實現加權輪詢規則負載均衡** ``` http { upstream live_node { # 配置后端服務器組 server 127.0.0.1:8089 weight=5; # 這個處理客戶端請求會多些 server 127.0.0.1:8088 weight=1; # 默認 weight = 1 } server { listen 80; server_name localhost; location / { #proxy_pass http://new_uri/; # 注意:proxy_pass后面的路徑是一個uri時,其會將location的uri替換為proxy_pass的uri proxy_pass http://live_node; proxy_set_header Host $host; # 保留客戶端的真實信息 } } server { # 配置虛擬服務器8088 listen 8088; server_name localhost; location / { root /usr/local/nginx/html2; index index.html index.htm; } } server { # 配置虛擬服務器8089 listen 8089; server_name localhost; location / { root /usr/local/nginx/html3; index index.html index.htm; } } } ``` >[success] 配置實例三:對特定資源實現負載均衡 ``` http { upstream videobackend { # 配置后端服務器組視頻代理 server 127.0.0.1:8088; server 127.0.0.1:8089; } upstream filebackend { # 配置后端服務器組文件代理 server 127.0.0.1:8888; server 127.0.0.1:8889; } server { listen 80; server_name localhost; location /video/ { proxy_pass http://videobackend; # 視頻代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # proxy_set_header field value; 設定發往后端主機的請求報文的請求首部的值 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /file/ { proxy_pass http://filebackend; # 文件代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { # 配置虛擬服務器8088 listen 8088; server_name localhost; location /video { alias /usr/local/nginx/html2; } } server { # 配置虛擬服務器8089 listen 8089; server_name localhost; location /video { alias /usr/local/nginx/html3; } } server { # 文件虛擬服務器1 listen 8888; server_name localhost; location /file { alias /usr/local/nginx/html4; } } server { # 文件虛擬服務器2 listen 8889; server_name localhost; location /file { alias /usr/local/nginx/html5; } } } ``` > 訪問方式:`http://127.0.0.1/video/demo.txt` >>輸出:`this is video HTML2 demo2 8088` >>輸出:`this is video HTML3 demo3 8089` > 訪問方式:`http://127.0.0.1/file/demo.txt` >>輸出:`this is file HTML4 demo4 8888` >>輸出:`this is file HTML4 demo5 8889` >測數文件:`demo.txt` >>`echo "this is video HTML2 demo2 8088" > ./html2/demo.txt` >[success] 配置實例四:不同的域名實現負載均衡 ``` http { upstream frontend { # 配置后端服務器組視頻代理 server 127.0.0.1:8088; server 127.0.0.1:8089; } upstream backend { # 配置后端服務器組文件代理 server 127.0.0.1:8888; server 127.0.0.1:8889; } server { listen 80; server_name www.frontend.com; location /video/ { proxy_pass http://frontend; # 前臺域名代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 8088; server_name www.backend.com; location /video/ { proxy_pass http://backend; # 后臺域名代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ``` >[success] 配置實例五:實現帶有URL重寫的負載均衡 ``` http { upstream backend { # 配置后端服務器組 server 127.0.0.1:8888; server 127.0.0.1:8889; } server { listen 80; server_name www.backend.com; index index.html index.htm; location /file/ { rewrite ^(/file/.*)/media/(.*)\.*$ $1/mp3/$2.mp3 last; } location / { proxy_pass http://frontend; # 前臺域名代理 proxy_set_header Host $host; } } } ``` >客戶端請求URL為:`http://www.backend.com/file/download/media/1.mp3` >[1]:虛擬主機` location /file/ `塊將該URL進行重寫為:`http://www.backend.com/file/download/media/mp3/1.mp3` >[2]:新的URL再有 ` location / `塊轉發轉發到后端的backend服務器組中實現負載均衡 >[3]: 這樣就可以實現URL重寫的負載均衡
                  <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>

                              哎呀哎呀视频在线观看