練習:
使用nginx反向代理(rr調度)用戶請求至兩個以上的后端LAMP(按標准路徑部署的有pma,wd),不管用戶請求是什么內容都反向代理至后端服務器去,但是如果用戶請求的是圖片或者是html,就把這寫內容緩存在nginx上,安裝pma可以是較老版本,而后寫一個腳本使用死循環測試每隔幾秒就對站點的URL發請求(定義5個),每次請求都記錄在文件中。在請求繼續中對對應的pma進行版本升級(backup),把pma老版本寫成新版本的過程寫成腳本。
(1) 手動更新所有節點上的pma至新版本;
(2) 寫腳本實現如上過程;
Tengine http://tengine.taobao.org/
取模法和一致性哈希算法講解 http://www.zsythink.net/archives/1182
特性
- 繼承Nginx-1.8.1的所有特性,兼容Nginx的配置;
- 動態模塊加載(DSO)支持。加入一個模塊不再需要重新編譯整個Tengine;
- 支持HTTP/2協議,HTTP/2模塊替代SPDY模塊;
- 流式上傳到HTTP后端服務器或FastCGI服務器,大量減少機器的I/O壓力;
- 支持異步OpenSSL,可使用硬件如:QAT進行HTTPS的加速與卸載;
- 更加強大的負載均衡能力,包括一致性hash模塊、會話保持模塊,還可以對后端的服務器進行主動健康檢查,根據服務器狀態自動上線下線,以及動態解析upstream中出現的域名;
- 輸入過濾器機制支持。通過使用這種機制Web應用防火牆的編寫更為方便;
- 支持設置proxy、memcached、fastcgi、scgi、uwsgi在后端失敗時的重試次數
- 動態腳本語言Lua支持。擴展功能非常高效簡單;
- 支持按指定關鍵字(域名,url等)收集Tengine運行狀態;
- 組合多個CSS、JavaScript文件的訪問請求變成一個請求;
- 自動去除空白字符和注釋從而減小頁面的體積
- 自動根據CPU數目設置進程個數和綁定CPU親緣性;
- 監控系統的負載和資源占用從而對系統進行保護;
- 顯示對運維人員更友好的出錯信息,便於定位出錯機器;
- 更強大的防攻擊(訪問速度限制)模塊;
- 更方便的命令行參數,如列出編譯的模塊列表、支持的指令等;
- 可以根據訪問文件類型設置過期時間;
- ...