Nginx 場景實踐篇

2022-08-22 01:27:11 字數 3724 閱讀 7769

客戶端請求的頁面如果是靜態網頁,那麼伺服器會直接把靜態網頁的內容響應給客戶端。如果客戶端請求的是動態網頁,伺服器需要先把動態網頁換成靜態網頁,然後再把轉換後的靜態網頁響應給客戶端

靜態資源的幾種型別

其基本思路是盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網路各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智慧型虛擬網路,cdn系統能夠實時地根據網路流量和各節點的連線、負載狀況以及到使用者的距離和響應時間等綜合資訊將使用者的請求重新導向離使用者最近的服務節點上。其目的是使使用者可就近取得所需內容,解決 internet網路擁擠的狀況,提高使用者訪問**的響應速度。

sendfile(檔案讀取)

tcp_nopush(sendfile開啟的情況下,提高網路包的傳輸效率)

tcp_nodelay(keepalive連線下,提高網路包的傳輸實時性)

gzip(壓縮)

gizp_comp_level(壓縮比)

gzip_http_version(gzip的http的版本)

gzip_static(預讀gzip功能)

http協議定義的快取機制(如:expires;cache-control等)

客戶端有快取

校驗過期機制

校驗方式

對應頭資訊

校驗是否過期

expires、cache-control(max-age)

協議中的etag頭資訊校驗

etag

last-modified有資訊校驗

last-modified

第一次請求:

第二次請求:

nginx如何開啟跨站訪問? access-controller-allow-origin

name可以為 access-controller-allow-origin 和 access-controller-allow-method

基於http_refer防盜煉配置模組

valid_referers none blocked ip

if($invalid_referer)

反向**

proxy_pass

其他**的一些語法補充

proxy_redirect(跳轉重定向)

proxy_set_header(頭資訊)

proxy_connect_timeout(超時)

配置檔案中的例子:

負載均衡:建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件網路裝置和伺服器的頻寬、增加吞吐量、加強網路資料處理能力、提高網路的靈活性和可用性。

負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web伺服器、ftp伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。

簡單配置例子

upstream ronaldo 

server

}

param

意義down

當前的server暫時不參與負載均衡

weight=num

權重,num越大,輪詢到的概率越大

backup

預留的備份伺服器

max_fails

允許請求失敗的次數

fail_timeout

經過max_fails失敗後,服務暫停的時間(預設是10s)

max_conns

限制最大的接收的連線數

演算法意義

輪詢按時間順序逐一分配到不同的後端伺服器

加權輪詢

weight值越大,分配到的訪問機率越高

ip_hash

每個請求按訪問ip的hash結果分配,這樣來自同乙個ip就固定訪問同乙個後端伺服器

least_conn

最少連線數,哪個伺服器連線數少就分發

url_hash

按照訪問的url的hash結果來分配請求,是每個url定向到同乙個後端伺服器

hash關鍵字值

hash自定義的key

url_hash(1.7.2版本以後可用):

key可以是$request_uri,根據url進行hash

客戶端->nginx: 1、請求資料a

nginx->服務端: 2、請求資料a

服務端->nginx: 3、返回資料a

nginx->客戶端: 4、返回資料a

客戶端->nginx: 1、請求資料a

nginx->客戶端: 2、返回資料a

proxy_cache

proxy_cache_valid(快取過期週期)

proxy_cache_key(快取的維度)

常見配置:

proxy_cache_path cache_path levels=1:2 keys_zone=key_name:10m max_size=10g inactive=60m use_temp_path=off;

server

}

簡單示例

if ($request_uri ~ ^/(url_3|login|register|password\/reset)) 

location /

優勢:每個子請求收到的資料都會形成乙個獨立的檔案,乙個請求斷了,其他請求不受影響。

缺點:當檔案很大或者slice很小的時候,可能會導致檔案描述符耗盡等待情況。

Nginx詳解十三 Nginx場景實踐篇之防盜煉

防盜煉 目的 防止資源被盜用 防盜煉設定思路 首要方式 區別哪些請求是非正常的使用者請求 配置語法 valid refer none bloked server names string 預設狀態 配置方法 server location reload一下,再請求 把access.log開啟再重新整...

三 nginx從入門到實踐 場景實踐篇

靜態資源web服務 服務 負載均衡排程器lsb 動態快取 靜態資源型別 非伺服器動態執行生成的檔案 型別 種類 瀏覽器端渲染 html css js jpeg gif png cdn內容分發網路 配置語法 檔案讀取 with file aio 非同步檔案讀取 sendfile開啟的情況下,提高網路包...

Nginx從入門到實踐 基礎篇(安裝)

一 nginx快速搭建與基本引數額使用 版本mainline version 開發版本 stable version 穩定版 legacy version 歷史版本 nginx 官網 基於yum源安裝修改yum源 vim etc yum.repos.d nginx.repo 新增以下內容 nginx...