推薦-Nginx專題: upstream模塊和緩存的簡單使用

Nginx專題: upstream模塊和緩存的簡單使用

nginx 負載均衡

前言:

本文接著上篇Nginx專題: 從編譯安裝到URL重寫來介紹Nginx的負載均衡模塊使用方法, 本文的實驗沒有考慮大多數情況, 例如兩個web服務器之間的數據同步等, 主要寫Nginx如何作為負載均衡器使用并且緩存

實驗拓撲

blob.png

實驗環境

主機 IP地址 功用
lb.anyisalin.com 172.16.1.2 負載均衡并緩存靜態資源
web1.anyisalin.com 172.16.1.3 提供web服務
web2.anyisalin.com 172.16.1.4 提供web服務

注意: 本文所有操作都在SELinux和iptables關閉的情況下進行

Nginx_Upstream模塊介紹

The ngx_http_upstream_module module is used to define groups of servers that can be referenced by the proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, and memcached_pass directives. 摘自官方文檔

簡單來說就是通過upstream模塊定義一個服務器組, 可以結合其他代理模塊從而提供負載均衡的效果

upstream使用方法

我們這里提供一個最簡單的upstream定義方法: 
以下兩段簡單的配置就能實現最簡單的負載均衡效果

upstream servers {
   server 172.16.1.2;
   server 172.16.1.3;
   }

location / {
   proxy_pass http://servers;
   }

upstream的常用參數介紹

upstream name {
   [ip_hash]
   server address [weight=number] [max_fails=number] [fail_timeout=number] [down|up|backup];
   ...
}

#ip_hash: 類似于lvssh算法,將同一IP的請求定向至同一主機
#weight: 權重設置
#max_failsupstream能夠自動對各群組中的服務器進行健康狀態檢查, 這里代表健康狀態檢查時最多幾次連接失敗就刪除
#fail_timeout:多久超時算失敗
#down:將某個主機下線
#backup:將某個主機設置為備份模式, 只要不是所有主機都宕機, 它就不會上線

upstream使用示例

安裝nginx的過程這里就不演示了, 有興趣的可以看我上篇博客

在nginx主配置文件中添加以下幾列

http段添加
   upstream servers {
       server 172.16.1.3;
       server 172.16.1.4;
       }

server段添加

   location / {
       proxy_pass http://servers;
   }

重載nginx

看圖!我們實現了簡單的負載均衡效果,為了演示出效果,所以使用了不同的頁面

若水GIF截圖_2016年4月7日19點35分7秒.gif

Nginx_Cache介紹

大家都知道在現今的網絡世界中, Cache is King,緩存能夠為我們減輕服務器的負擔和加快響應速度, Nginx_proxy模塊能夠支持緩存功能, 我們這里使用我們這里緩存靜態資源

緩存靜態資源

我們在web1 server上有一組靜態網頁通過負載均衡調度器進行反向代理, 我們在沒有設置緩存之前先使用ab進行壓力測試

blob.png

proxy_cache_path /cache levels=1:1 keys_zone=mycache:64m;   #http段添加

location /index.html {  #Location段配置
   proxy_pass http://172.16.1.3;
   proxy_cache mycache;    #使用mycache進行緩存
   proxy_cache_valid 200 1d;   #響應碼為200的緩存1
   proxy_cache_valid 500 501 502 503 1m;   #響應碼為500...的緩存1分鐘
   proxy_cache_use_stale error ;   #如果請求源主機的時候出問題, 仍然使用緩存
 }

保存重載

mkdir /cache #創建緩存存放文件夾
chown nginx:nginx /cache  #修改屬主和屬組為nginx

再次對其進行測試

blob.png

從上面測試可以看出緩存對于靜態資源響應的提升是非常明顯的

總結

因為時間比較緊,所有本文簡單的介紹了Nginx_upstream模塊和緩存的使用方法,很多配置參數都沒有明確的說明,以后應該還有機會和大家詳細說明, Nginx專題還沒有結束,敬請期待 
作者: AnyISalIn QQ: 1449472454 
感謝: MageEdu

原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/14386

(0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-04-07
下一篇 2016-04-09

相關推薦

  • 馬哥教育網絡21期+第十二周練習博客上

    1、請描述一次完整的http請求處理過程; (1)建立或處理連接:接受請求或拒絕請求 (2)如果接受請求:     并發訪問響應模型:         單進程I/O結構:啟動一個進程處理用戶請求,而且一次只處理一個,多個請求被串行響應; &…

    Linux干貨 2016-10-17
  • Linux keepalived高可用集群

                       Linux keepalived高可用集群 keepalived簡介:    keepalived是為了高可用ipvs集群而設計的,主要用作realserver的健康狀態檢測,如果有一臺web…

    系統運維 2016-11-18
  • python Django分頁

    自定義html_helper.py  —>  Page_helper類 #coding:utf-8 from django.utils.safestring import mark_safe class Page_Helper(object):    …

    Linux干貨 2016-08-22
  • Linux 第九天: 練習和作業

    Linux 第九天: 練習和作業       編寫腳本/root/bin/systeminfo.sh 顯示當前主機系統信息 包括主機名 ipv4地址 操作系統版本 內核版本 CPU信號 內存大小 硬盤大小 server_ip=`ifconfig|grep'inet\b'|grep -v '…

    Linux干貨 2016-08-15
  • ContOS 7 安裝

    在虛擬機中安裝ContOS 7,自定義4個分區
    虛擬機使用ISO鏡像文件安裝,網絡使用橋接模式,內存大小設置為1224MB(安裝桌面比較大)

    2018-03-13
欧美性久久久久