socket.io搭配pm2(cluster)叢集解決方案
#1.Nginx是什麼
nginx是一個http反向代理伺服器,一個郵件代理伺服器和一個通用的TCP/UDP代理u伺服器
#2.Nginx的功能
基本的http伺服器功能,其他的伺服器功能,郵件代理伺服器功能
##2.1基本的HTTP伺服器功能
*提供靜態和索引檔案,自動索引;開啟檔案描述符快取
*通過快取加速反向代理;負載均衡和容錯
*通過快取FastGGI,uwsgi,scgi,和memcached伺服器加速支援
*模組化架構。過濾器包括 gzipping,位元組範圍,分塊響應,XSLT,SSI和影象變換過濾器 *SSL和SNI支援
*支援HTTP2.0,具有加權和基於依賴性的優先順序
## 2.2 其他的http伺服器功能
# 4.使用nginx
start nginx
其他的一些常用命令: nginx -s stop快速關閉 quit優雅關閉 reload 載入配置檔案
常用用途 設定代理伺服器,伺服器接受請求,將他們傳遞給代理伺服器
負載均衡
nginx支援 以下負載平衡機制
*迴圈 對伺服器以迴圈方式分放
* 最少連線 下一波請求分發給連線數最少的伺服器
*ip-hsah- 雜湊函式用於確定下一個請求選擇哪個伺服器
##5.1 nginx 預設負載均衡 (預設迴圈)
##5.2 最少連線數負載平衡
最少連結,在某些請求需要更長時間才能完成的情況下,最少連結允許更加公平的使用伺服器
least-conn 用作伺服器組的一部分 啟用最小連線
## 5.3 ip地址繫結
通過迴圈和最少連線得負載平衡 每個客戶端請求可能會·分發到不同的伺服器。
無法保證同一客戶端始終指向同一伺服器 ,如果需要繫結到特定的應用程式伺服器
是會話持久 可用 ip_hash
使用ip-hash 客戶端的ip地址將用作雜湊金鑰,以確定應為 客戶端的請求選擇伺服器組中的哪個服務。此方法可以確保來自同一客戶端的請求始終定向到同一伺服器
新增指令 ip_hash
##5.4 加權負載均衡
加權 未配置伺服器權重 ,意味對特殊的伺服器一樣
當為伺服器指定權重引數時,權重被計入負載平衡的一部分
weight 定義權重
#6. 健康檢查
兩個引數 max-fails和 fail-timeout 用於判斷後端節點狀態
在fail-timeout的時間範圍內連線伺服器通訊次數如果超過 max-fail
那麼伺服器被判定不可用 ,並且再次等待一個fail-timeout 再去重新嘗試請求
fail-timeout的預設值30s,,,max-fails的預設值為1