Nginx--進階篇(實踐)

qq_37112807發表於2020-12-14

靜態資源WEB服務

1.什麼是靜態資源:

非伺服器動態執行生成的檔案

2、靜態資源服務場景

在這裡插入圖片描述

3、配置語法-檔案讀取

Syntax: sendfile on|off
Default: sendfile off;
Context: http,server.location, if in location

Syntax: tcp_nopush on|off
Default: tcp_nopush off;
Context: http,server.location
作用: sendfile 開啟的情況下, 提高網路包的傳輸效率

Syntax: tcp_nodelay on|off
Default: tcp_nodelay off;
Context: http,server.location
作用: keepalive連線下, 提高網路包的傳輸實時性

Syntax :gzip on|off
Default: tcp_nodelay off;
Context: http,server.location if in location
作用: 傳輸過程的包的壓縮
在這裡插入圖片描述
Syntax :gzip_comp_level ;
Default: gzip_comp_level 1 ;
Context: http,server,location, if in location
作用: 設定壓縮比

Syntax : gzip_http_version 1.0|1.1;
Default: gzip_http_version 1.1 ;
Context: http,server.location
作用: 設定壓縮的版本

4、擴充套件Nginx壓縮模組

http_gzip_static_module 預讀模組
http_gunzip_module 應用支援gunzip的壓縮方式

5、 跨站/跨域訪問(CSRF為了防止出現)

syntax: add_header name value [always] ;
default: –
context: http,server,location, if in location
在這裡插入圖片描述
建議對origin做設定, 只允許特定的站點進行訪問

6、防盜鏈(基礎版)

首要方式: 區別哪些請求是非正常的使用者請求
1)、基於http_refer防盜鏈模組配置

代理服務

代理協議型別:
在這裡插入圖片描述
正向代理:
在這裡插入圖片描述

配置語法

Syntax: proxy_pass_url; 反向代理
Default–
Context:location, if in location, limit except
在這裡插入圖片描述
可以在location新增IP語法判斷

Syntax: proxy_buffering on|off 緩衝區配置
Default: proxy_buffering on;
Context: http,server,location
擴充套件配置: proxy_buffer_size proxy_buffer、proxy_busy_buffers_size

Syntax: proxy_redirect default 跳轉重定向(需要把地址進行重寫的時候)
proxy_redirect off ; proxy_redirect redirect replacement
Default: proxy_redirect default ;
Context:http,server,location

Syntax: proxy_set_header field value; 頭資訊配置
Default: proxy_set_header Host $ proxy_host;
proxy_set_header Connetiom close;
Context: http,server,location
擴充套件配置: proxy_hide_header、proxy_set_body

常用配置:
在這裡插入圖片描述
X-Real-IP $remote_addr 獲取使用者的真實IP
注: 可以使用include #fileName 進行直接引入配置檔案, 增減檔案的可用性

負載均衡排程器SLB

GSLB
在這裡插入圖片描述
nginx屬於七層負載均衡的SLB

Syntax: upstream name {…}
Default:–
Context: http

案例:
在這裡插入圖片描述
在這裡插入圖片描述
weigth是加權輪詢, 七個請求有五個可以命中第五個
在這裡插入圖片描述
ip_hash能夠根據ip訪問同一個後端的機器, 但是這樣會出現問題:
在這裡插入圖片描述
在這裡插入圖片描述
url_hash:
Syntax: hash key [consistent]
default:–
Context: upstream

動態快取

快取服務: 相當於當nginx具有快取的時候就不需要去服務端請求服務了
在這裡插入圖片描述
配置語法:
Syntax: proxy_cache zone |off ; #快取地址配置
Default: proxy_cache off;
Context: http, server, location

Syntax: proxy_cache_vaild [code…] time; #快取週期控制
Default: –
Context: http, server, location

syntax: proxy_cache_key string; #快取的緯度
Default: proxy_cache_key s c h e m e scheme schemeproxy_host$request_u
Context: http, server, location

相關文章