首頁  >  文章  >  運維  >  nginx怎麼做負載平衡

nginx怎麼做負載平衡

藏色散人
藏色散人原創
2019-06-10 10:02:274068瀏覽

nginx怎麼做負載平衡

一、負載平衡

當一台伺服器的單位時間內的存取量越大的時候,伺服器的壓力會越大。當一台伺服器壓力大得超過自身的承受能力的時候,伺服器會崩潰。為了避免伺服器崩潰,讓使用者有更好地體驗,我們通常透過負載平衡的方式來分擔伺服器的壓力。

那麼什麼是負載平衡呢?我們透過建立很多伺服器,把這些伺服器組成一個伺服器集群,然後,當使用者造訪我們網站的時候,先訪問一個中間伺服器,再讓這個中間伺服器在伺服器集群中選擇一個壓力較小的伺服器,然後將此存取請求引入該選擇的伺服器。

這樣,使用者的每次訪問,都會保證伺服器叢集中的每個伺服器的壓力趨於平衡,分擔了伺服器壓力,避免了伺服器崩潰的情況。負載平衡就是採用反向代理的想法。

二、Nginx中負載平衡的實作

Nginx是一款可以透過反向代理實現負載平衡的伺服器,使用Nginx服務實現負載平衡的時候,使用者的存取權首先會存取到Nginx伺服器,然後Nginx伺服器再從伺服器叢集表中選擇壓力較小的伺服器,然後將該存取請求引向該伺服器。若伺服器叢集中的某個伺服器崩潰,那麼從待選伺服器清單中將該伺服器刪除,也就是說伺服器假如崩潰了,那麼Nginx就肯定不會將存取要求引入該伺服器了。

1、建立fzjh.conf設定檔

在/usr/local/nginx/conf下建立fzjh.conf文件,檔案內容如下:

user  nobody;
worker_processes  2;
events {
    worker_connections  1024;
}
http{
   #=upstream设置负载均衡的待选服务器列表,在运行中如果有服务器崩溃那该服务器就会在该列表中移除
    upstream mypro{
        server 219.133.55.36;#中国万维网
        server 115.239.210.27;#百度的ip
    }
    server{
        listen 8080;
        #====== 对ngnix更目录做负载均衡===
        location / {
           #==选择要代理的服务器要与upstream对应==========
            proxy_pass http://mypro;
        }
    }
}

2、載入fzjh.conf設定檔

執行指令:

 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf

3、測試是否成功  

#這裡我們的負載平衡待選伺服器清單是百度和中國萬維網,也就說我們訪問我的主機名稱8080 就可以進行測試,如果頁面在百度與中國萬維網中切換,就表示成功。

本文來自Nginx使用教學欄位:http://www.php.cn/nginx/

以上是nginx怎麼做負載平衡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn