pool_allocator 輕量模板記憶體池
阿新 • • 發佈:2022-05-19
一、應用場景
- 前置閘道器(外網進入內網)
- 負載均衡(Http協議負載均衡)
- 反向代理
二、排程演算法
- 輪詢:"server 192.168.0.100;";按時間順序輪流分配,後端down時自動剔除;
- 權重:"server 192.168.0.100 weight=1;";按時間順序和權重比例輪流分配,後端down時自動剔除;
- IP雜湊:"ip_hash;server 192.168.0.100;";按客戶端IP分配,保證後端Session一致;
- 公平:"fair;server 192.168.0.100;";基於響應時間rt,能者多勞;
- URL雜湊:"hash_method crc32; hash $request_uri; server 192.168.0.100;";按URL分配,主要應用於後端為快取;
三、實際用例
-
反向代理伺服器列表、排程演算法配置
upstream httpd { ip_hash; keepalive 1024; server 192.168.1.100; server 192.168.1.101 down; server 192.168.1.102 max_fails=3; server 192.168.1.103 fail_timeout=20s; server 192.168.1.104 max_fails=3 fail_timeout=20s; }
ip_hash:請求排程演算法,預設weight權重輪詢,這裡是ip_hash基於請求hash值排程
keepalive:保持連線時間
server:伺服器列表
down:主機暫停服務
max_fails:最大失敗次數,超出則暫停服務
fail_timeout:最大失敗超時時間,超出則暫停服務
-
代理配置伺服器
server { listen 80; location / { proxy_set_header Host $http_host; proxy_pass http://httpd; } }
四、引數列表
引數 | 用例 | 描述 |
---|---|---|
allow | allow 192.168.0.100; | 允許訪問 |
deny | deny all; | 禁止所有訪問 |
access_log | access_log /nginx/access.log; | 訪問日誌 |
error_log | error_log /nginx/error_log; | 錯誤日誌 |
server | 虛擬主機 | |
server_name | 域名 | |
root | 虛擬主機目錄 | |
index | 首頁 | |
event | event { worker_connections 1024; multi_accept on; use epoll } |
最大連線數、接受更多連線、使用epoll監控連線 |