Nginx 參數官方文檔:http://nginx.org/en/docs/http/ngx_http_upstream_module.html
常用 Upstream 參數
| 參數 | 描述 |
| service | 反向服務地址 加端口 |
| weight | 權重 |
| max_fails | 失敗多少次 認為主機已掛掉則,踢出 |
| fail_timeout | 踢出后重新探測時間 |
| backup | 備用服務 |
| max_conns | 允許最大連接數 |
| slow_start | 當節點恢復,不立即加入 |
service
每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除 配置如下
upstream server_qd{ server 127.0.0.1:8072 weight=2 ; server 127.0.0.1:8096 weight=4; }
weight(權重)
指定輪詢幾率,weight和訪問比率成正比,用於后端服務器性能不均的情況
upstream server_qd{ server 127.0.0.1:8072 weight=2 ; server 127.0.0.1:8096 weight=4; }
max_conns
可以根據服務的好壞來設置最大連接數,防止掛掉,比如1000,我們可以設置800,外加weight(權重) 進一步分發
upstream server_qd{ server 127.0.0.1:8072 weight=2 max_conns=800 ; server 127.0.0.1:8096 weight=4; }
max_fails、 fail_timeout
max_fails:失敗多少次 認為主機已掛掉則,踢出,公司資源少的話一般設置2~3次,多的話設置1次
fail_timeout:踢出后重新探測時間
例如:
max_fails=2 fail_timeout=10代表在10秒內請求某一應用失敗2次,認為該應用宕機,后等待10秒,這期間內不會再把新請求發送到宕機應用,而是直接發到正常的那一台,
時間到后再有請求進來繼續嘗試連接宕機應用且僅嘗試1次,如果還是失敗,則繼續等待10秒...以此循環,直到恢復。
upstream server_qd{ server 127.0.0.1:8072 weight=2 max_conns=800 max_fails=1 fail_timeout=20; server 127.0.0.1:8096 weight=4; }
具體可以參考 https://blog.csdn.net/caijunsen/article/details/83002219
nginx的location配置詳解例子:https://www.cnblogs.com/sign-ptk/p/6723048.html
在location 添加cookie路徑轉換可以解決
location / { root html; index index.html index.htm; proxy_pass http://server_qd; proxy_cookie_path /project /proxy_path; }
