利用Nginx反向代理原理,實現叢集伺服器瞬間故障轉移,看用於生產環境中綜合設定的例子:#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分割槽proxy_temp_path /data0/proxy_temp_dir;#設定Web快取區名稱為cache_one,記憶體快取空間大小為200MB,1天沒有被訪問的內容自動清除,硬碟快取空間大小為30GB。proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;#輪詢伺服器,weight為伺服器權重,與訪問頻率成正比,max_fails最大超時次數,fail_timeout伺服器代理監聽超時時間upstream backend_server {server 192.168.203.43:80 weight=1 max_fails=2 fail_timeout=30s;server 192.168.203.44:80 weight=1 max_fails=2 fail_timeout=30s;server 192.168.203.45:80 weight=1 max_fails=2 fail_timeout=30s;}server{listen 80;server_name
www.yourdomain.com
http://backend_server;
利用Nginx反向代理原理,實現叢集伺服器瞬間故障轉移,看用於生產環境中綜合設定的例子:#注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分割槽proxy_temp_path /data0/proxy_temp_dir;#設定Web快取區名稱為cache_one,記憶體快取空間大小為200MB,1天沒有被訪問的內容自動清除,硬碟快取空間大小為30GB。proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;#輪詢伺服器,weight為伺服器權重,與訪問頻率成正比,max_fails最大超時次數,fail_timeout伺服器代理監聽超時時間upstream backend_server {server 192.168.203.43:80 weight=1 max_fails=2 fail_timeout=30s;server 192.168.203.44:80 weight=1 max_fails=2 fail_timeout=30s;server 192.168.203.45:80 weight=1 max_fails=2 fail_timeout=30s;}server{listen 80;server_name
www.yourdomain.com
192.168.203.42;index index.html index.htm;root /data0/htdocs/www;location /{#如果後端的伺服器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺伺服器,實現故障轉移。proxy_next_upstream http_502 http_504 error timeout invalid_header;proxy_cache cache_one;#對不同的HTTP狀態碼設定不同的快取時間proxy_cache_valid 200 304 12h;#以域名、URI、引數組合成Web快取的Key值,Nginx根據Key值雜湊,儲存快取內容到二級快取目錄內proxy_cache_key $host$uri$is_args$args;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_passhttp://backend_server;
expires 1d;}}