* upstream
~~~
upstream staticserver {
server 192.168.20.139:8085;
server 192.168.20.140:8085;
}
~~~
* server
~~~
Syntax: server address [parameters];
Default: —
Context: upstream
~~~
功能:在upstream配置段中,用來定義后端主機的
Parameters參數有如下
1)weight=number
配置每個后端服務器的權重
2)max_fails=number
配置請求嘗試失敗的次數
3)fail_timeout=time
這是一個設置參數,一般跟上面的參數協同使用。該參數的含義:
1:當連接后端server失敗時,多長時間內可反復嘗試連接后端server;
2:一旦超過這個設置時間段,則判斷該server的狀態為不可用(unavailable );
這個參數的默認值為10秒
4)down
手動標記某一臺服務器為永久不可用(一般和ip_hash一起使用)
5)backup
當所有后端服務器上都不可用了,這個才會被生效
* keepalive
~~~
Syntax: keepalive connections;
Default: —
Context: upstream
This directive appeared in version 1.1.4.
~~~
二)調度方式
* ip_hash
功能:根據客戶端的ip地址來調度,使得同一個客戶端IP被始終定向到同一臺upstream server
~~~
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
server backend4.example.com;
}
~~~
* hash
~~~
Syntax: hash key [consistent];
Default: —
Context: upstream
This directive appeared in version 1.7.2.
~~~
功能:用來設置負載均衡中,客戶端尋找各后端server基于hash函數。可以根據這里的key值做哈希,然后除以后端服務器的總權限,然后分配給某臺server。
1)當摘除一個server或增加一個server,會導致hash重新計算,導致原來大多數key可能會尋找到不同server上
2)若使用consistent(一致性哈希算法),只有部分key會受影響
* sticky
安裝第三方模塊nginx-sticky-module-ng
git clone https://github.com/bymaximus/nginx-sticky-module-ng.git
1)重新編譯nginx,添加如下
--add-module=/usr/local/src/nginx-sticky-module-ng
2)然后執行make,把objs/nginx 拷貝到/usr/local/nginx-1.12.1/sbin/
3)重新啟動nginx
- 第一部分:Nginx Web服務
- 第一章: Nginx的初探
- 第二章:Nginx的安裝部署
- 第一節:在centos6上通過Yum安裝Nginx
- 第二節:在Centos7上通過Yum安裝nginx
- 第三節:編譯安裝Nginx服務
- 第四節: Nginx編譯參數詳解
- 第五節: Nginx的啟動腳本
- 第六節:Nginx的shell腳本安裝
- 第七節:nginx服務的平滑升級
- 第三章:Nginx服務基礎配置
- 第一節: 配置運行nginx服務器用戶
- 第二節:配置運行生成的worker processes進程數
- 第三節:配置Nginx進程PID存放路徑
- 第四節:定義MIME類型
- 第五節:自定義nginx的訪問日志
- 第六節:主配置段(main)常用的配置
- 第七節:http段(核心)常用的配置命令
- 第八節:配置nginx中的location段
- 第九節: 基于IP的訪問控制
- 第十節:基于用戶的訪問控制
- 第十一節:Nginx定義status狀態頁
- 第十二節:Nginx服務器Rewrite重寫
- 第十三節:Nginx服務配置防盜鏈
- 第十四節:nginx軟件的優點
- 第四章:Nginx服務器的優化配置
- 第一節:nginx.conf配置文件基本參數優化
- 第二節:fastcgi調優
- 第三節:Gzip調優
- 第四節:expires緩存調優
- 第五節:內核參數優化
- 第六節: Nginx之——413 修改上傳文件大小限制
- 第五章:Nginx虛擬主機的配置
- 第一節:基于名稱的虛擬主機
- 第二節:通過shell腳本添加虛擬主機
- 第六章:Nginx常用模塊指令詳解
- 第一節:ngx_http_realip_module
- 第二節:http_image_filter_module
- 第三節:tengine中配置consistent hash module
- 第四節:ngx_http_userid_module
- 第七章:Nginx服務器配置HTTPS訪問
- 第八章: Nginx服務器日志切割
- 第二部分:Nginx負載均衡反向代理服務
- 第一章:Nginx進階參數詳解
- 第一節:proxy_module參數詳解
- 第二節:upstream_module參數詳解
- 第四章:Nginx反向代理服務
- 第一節:Nginx反向代理配置參數詳解
- 第二節:Nginx反向代理服務配置案例
- 第三節:Nginx緩存
- 第四節: Nginx中fastcgi模塊
- 第五節:nginx+fastcgi實現動靜分離架構
- 第五章:Nginx負載均衡
- 第一節:ngx_http_upstream_module常見指令
- 第二節:調度方法
- 第三節:健康狀態檢查