国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx負載均衡和配置要怎么弄?

2024-08-30 12:22:58
字體:
來源:轉載
供稿:網友
  Nginx負載均衡及配置
  1、負載均衡概述
  負載均衡由來是因為當一臺服務器單位時間內的訪問量很大時,此時服務器的壓力也會很大,當超過自身承受能力時,服務器就會崩潰.為避免讓服務器崩潰,用戶擁有更好的體驗,就誕生了負載均衡來分擔服務器壓力.
  負載均衡實質上就是用反向代理的原理實現的,是一種優化服務器資源,合理處理高并發的一種技術,能夠平衡個服務器的壓力,減少用戶請求等待時間,并確保容錯.一般采用nginx作為一種高效的HTTP負載均衡服務器,將流量分配到多個應用服務器上以提高性能,可擴展和高可用性.
  原理: 內網可以建很多服務器,組成服務器集群,當用戶訪問該網站時,先訪問公網中間服務器,中間服務器根據算法合理分配到內網服務器,分擔服務器的壓力,因此戶的每次訪問,都會保證服務器集群中的每個服務器壓力趨于平衡,分擔了服務器壓力,避免了服務器崩潰的情況。
  nginx反向代理實現包括下面這些負載均衡HTTP、HTTPS、FastCGI、uwsgi,SCGI和memcached。
  要配置HTTPS的負載均衡,只需使用'http'開頭的協議。
  當要設置FastCGI,uwsgi,SCGI,或者memcached的負載平衡,分別使用fastcgi_pass,uwsgi_pass,scgi_pass和memcached_pass指令。
  2、負載均衡的常見平衡機制
  1 輪詢(round-robin) :以輪詢方式將請求分配到不同服務器上,每個請求按時間順序逐一分配到不同的后端服務器, 如果后端服務器掛掉,自動剔除,保證正常的服務。
  配置1:
  upstream server_back {  #nginx分發服務請求
  server 192.168.162.49;
  server 192.168.162.50;
  }
  配置2:
  http {
  upstream servergroup {  # 服務組接受請求,nginx輪詢分發服務請求
  server srv1.demo.com;
  server srv2.demo.com;
  server srv3.demo.com;
  }
  server {
  listen 80;
  location / {
  proxy_pass http://servergroup; #所有的請求被代理到servergroup服務組
  }
  }
  }
  proxy_pass  后面是被代理的服務器ip,也可以是主機名,域名,ip端口模式
  upstream    設定負載均衡后臺服務器列表
  2 權重負載均衡(weight):如果沒有配置權重,每個服務器的負載都是一樣的,當出現服務器性能不均時,采用 權重輪詢,指定的服務器的權重參數,權重占比為負載均衡決定的一部分。權重大負載就大。
  upstream server_back {
  server 192.168.162.49 weight=3;
  server 192.168.162.50 weight=7;
  }
  3 最少連接數(least-connected):將下一個請求分配到連接數最少的那臺服務器上,當一些請求需要更長的時 間響應, 最少連接可以更公平地控制應用程序實例的負載。nginx會將請求轉發到負載較少的服務器。
  upstream servergroup {
  least_conn;
  server srv1.demo.com;
  server srv2.demo.com;
  server srv3.demo.com;
  }
  4 ip-hash :基于客戶端的IP地址。原因時負載均衡每次請求都會重新定位到服務器集群中的某一個,那么已經登錄某一個服務器的用戶再重新定位到另一個服務器,其登錄信息將會丟失,這樣明顯不太妥。采用ip_hash解決這個問題,如果客戶已經訪問了某個服務器,當用戶再次訪問時,會將該請求通過哈希算法,自動定位到該服務器。
  每個請求按照IP hash的結果分配,因此請求被固定到某一個后端服務器,也可以解決session問題
  upstream servergroup {
  ip-hash;
  server srv1.demo.com;
  server srv2.demo.com;
  server srv3.demo.com;
  }
  附上一個實例:
  #user  nobody;
  worker_processes  4;
  events {
  # 最大并發數
  worker_connections  1024;
  }
  http{
  # 待選服務器列表
  upstream myserver{
  # ip_hash指令,將同一用戶引入同一服務器。
  ip_hash;
  server 125.219.42.4 fail_timeout=60s; #max_fails失敗后暫定時間60s
  server 172.31.2.183;
  }
  server{
  # 監聽端口
  listen 80;
  # 根目錄下
  location / {
  # 選擇哪個服務器列表
  proxy_pass http://myserver;
  }
  }
  }
  max_fails  允許請求失敗的次數默認為1
  fail_timeout=60s  fail_timeout=60s失敗暫停的時間
  down 表示當前的服務器暫時不參與負載
  backup  所有非backup機器忙的時候會請求backup,因此其壓力會最輕。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇平县| 炉霍县| 广平县| 保山市| 偏关县| 正宁县| 库车县| 丽江市| 孟村| 和龙市| 类乌齐县| 淄博市| 屏山县| 正镶白旗| 夏邑县| 屏南县| 塔河县| 英吉沙县| 阿合奇县| 修武县| 锡林郭勒盟| 田阳县| 常山县| 汨罗市| 固安县| 台山市| 临漳县| 衡水市| 桓仁| 榆林市| 灵武市| 鸡泽县| 岐山县| 阳山县| 阳新县| 尖扎县| 陆川县| 文安县| 池州市| 贵州省| 德昌县|