第八章 Nginx伺服器的快取機制

2021-09-27 09:18:28 字數 2298 閱讀 2730

本章涉及內容:

web快取技術的基礎知識

nginx伺服器基於proxy store的快取機制

nginx伺服器基於memcached的快取機制

nginx伺服器基於proxy cache的快取機制

nginx與squid伺服器組合的配置

8.1、web快取技術簡述

將動態網頁轉換成靜態網頁,本地儲存網頁的副本,這些副本有過期時間限制。

web快取技術的優點是很明顯的。由於客戶端的部分請求內容直接從web伺服器處獲取,該技術減輕了後端伺服器的負載,同時也減少了web伺服器與後端伺服器之間的網路流量,從而減輕了網路擁塞,同時還能減小資料傳輸延遲,有效降低客戶訪問的延遲。

8.2、404錯誤驅動web快取

...location /

location /errpage/

...8.3、資源不存在驅動web快取

...#其他配置

location /

}通過if條件判斷

8.4、基於memcached的快取機制的6個指令

http模組中有一ngx_http_memcached_module模組

該指令用於配置memcached伺服器 的位址

1、memcached_pass address;

address 為memcached伺服器的位址。支援ip+埠的位址或者網域名稱位址。可以使用upstream指令配置乙個memcached伺服器組

2、memcached_connect_timeout指令

該指令用於配置連線memcached伺服器的超時時間

memcached_connect_timeout time;

time為設定的超時時間。預設60s 建議改時間不要超過75s

3、memcached_read_timeout指令

該指令配置nginx伺服器向memcached伺服器發出兩個read請求之間的等待超時時間。

memcached_read_timeout time;

預設值60s

4、memcached_send_timeout指令

該指令配置nginx伺服器向memcached伺服器發出兩次write請求之間的等待超時時間,如果在該時間內沒有進行資料傳輸。連線將會被關閉

memcached_send_timeout time;

預設值60s

5、memcached_buffer_size指令

該指令用於配置nginx伺服器用於接收memcached伺服器響應資料的快取區大小

memcached_buffer_size size;

size 設定快取區大小,一般是所在平台的記憶體頁大小的倍數。

memcached_buffer_size 4k|8k;

6、memcached_next_upstream指令

該指令配置一組memcached伺服器的情況下使用。伺服器組中各memcached伺服器的訪問規則遵循upstream指令配置的輪詢規則。

memcached_next_upstream status ...;

status 為設定的memcached伺服器返回狀態,可以是乙個或多個

error 在建立連線、向memcached伺服器傳送請求或讀取響應頭時伺服器發生連線錯誤。

timeout:超時

invalid_header, memcached伺服器返回的響應頭為空或者無效

not_found, memcached伺服器未找到對應的鍵值對

off   無法將請求傳送給memcached伺服器

...#其他配置

server

location @fallback

}8.5、proxy cache快取機制

proxy cache快取機制的乙個缺陷是,它沒有實現自動清理磁碟上快取源資料功能。因此在長時間使用過程中會對伺服器儲存造成一定的壓力

...#其他配置

8.6、nginx與squid組合

squid服務本身不支援在單台伺服器同一埠(例如要反向**web必須指定80埠)下執行多個程序。這個的話就需要給每個squid服務分配一台伺服器設定。這樣非常浪費資源。

8.6.1 squid伺服器的配置

將多個squid伺服器安裝同一臺伺服器上的不同目錄上。並配置不同監聽埠

/squid0 監聽在 squid_server_ip:10010

/squid1 監聽在 squid_server_ip:10011

/squid2 監聽在 squid_server_ip:10012

其中squid_server_ip是部署squid伺服器的ip位址

第八章 Nginx伺服器的快取機制 筆記

本章涉及內容 將動態網頁轉換成靜態網頁,本地儲存網頁的副本,這些副本有過期時間限制。web快取技術的優點是很明顯的。由於客戶端的部分請求內容直接從web伺服器處獲取,該技術減輕了後端伺服器的負載,同時也減少了web伺服器與後端伺服器之間的網路流量,從而減輕了網路擁塞,同時還能減小資料傳輸延遲,有效降...

第八章 Nginx日誌管理

nginx有非常靈活的日誌記錄模式,每個級別的配置可以有各自獨立的訪問日誌,日誌格式通過log format命令定義格式。配置語法 包括 error.log access.log 指定格式 日誌格式名稱 日誌格式 日誌內容 開啟nginx.conf配置檔案 vim usr local nginx c...

第八章 觸發器

觸發器的基本概述 在sqlserver2005中,儲存過程和觸發器都是sql語句和流程控制語句的集合,就本質而言,觸發器也是一種儲存過程,它是一種在基本表被修改時自動執行的內嵌過程,主要通過事件進行觸發而被執行,而儲存過程可以通過儲存過程名字而被直接呼叫,當對某一張表進行如update,insert...