




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JDBnginx學(xué)習(xí)分享
串講人:劉豪偉2019年3月15日
Modestymakesoneprogress,pridemakesonelagbehind.JDBnginx學(xué)習(xí)分享串講人:劉豪偉20CONTENTS
123Nginx實(shí)現(xiàn)反向代理
Nginx實(shí)現(xiàn)頁(yè)面緩存
Nginx實(shí)現(xiàn)負(fù)載均衡
CONTENTS123Nginx實(shí)現(xiàn)反向代理Ngi01Nginx
做反向代理
01Nginx做反向代理正向代理與反向代理
現(xiàn)實(shí)生活中的例子
1、正向代理:訪問(wèn)
如上圖,因?yàn)槟壳癵oogle已被和諧,我們需要vpn才能科學(xué)訪問(wèn)
vpn對(duì)于“我們”來(lái)說(shuō),是可以感知到的(我們連接vpn),vpn對(duì)于”google服務(wù)器”來(lái)說(shuō),是不可感知的(google只知道有http請(qǐng)求過(guò)來(lái))。
對(duì)于人來(lái)說(shuō)可以感知到,但服務(wù)器感知不到的服務(wù)器,我們叫他正向代理服務(wù)器。
正向代理與反向代理現(xiàn)實(shí)生活中的例子1、正向代理:訪問(wèn)go正向代理與反向代理
現(xiàn)實(shí)生活中的例子
2、反向代理:通過(guò)反向代理實(shí)現(xiàn)負(fù)載均衡
總結(jié)
說(shuō)白了:“正向”、“反向”是相對(duì)于人的感知來(lái)說(shuō)的。人能感受到的代理就是正向代理,人感受不到的代理就是反向代理
如上圖,我們?cè)L問(wèn)的時(shí)候,百度有一個(gè)代理服務(wù)器,
通過(guò)這個(gè)代理服務(wù)器,可以做負(fù)載均衡,路由到不同的server。
此代理服務(wù)器,對(duì)于“我們”來(lái)說(shuō)是不可感知的(我們只能感知到訪問(wèn)的是百度的服務(wù)器,不知道中間還有代理服務(wù)器來(lái)做負(fù)載均衡)。
對(duì)于人來(lái)說(shuō)不可感知,但對(duì)于服務(wù)器來(lái)說(shuō)是可以感知的,我們叫他反向代理服務(wù)器。
正向代理與反向代理現(xiàn)實(shí)生活中的例子2、反向代理:通過(guò)反向nginx實(shí)現(xiàn)反向代理
nginx是高度模塊化的,各個(gè)功能都封裝在模塊中,而各個(gè)模塊的初始化則是根據(jù)配置文件來(lái)進(jìn)行的。
實(shí)現(xiàn)反向代理的模塊
模塊
:ngx_http_proxy_module指令:
proxy_pass:指定上游服務(wù)器的ip和端口
proxy_set_header:添加一個(gè)新的首部
指令語(yǔ)法
Syntax:proxy_passURL;Default:—
Context:location,ifinlocation,limit_except例子:proxy_pass96:8000;Syntax:proxy_set_headerfieldvalue;Default:proxy_set_headerHost$proxy_host;Context:http,server,location
nginx的配置中,可以使用變量
內(nèi)置變量:nginx自帶的
自定義變量:用戶定義的,定義方法:set變量名
變量值
演示配置
反向代理的例子
location/{
proxy_pass80;
proxy_set_headerX-Real-IP$remote_addr
proxy_set_headerHost$proxy_host;}
nginx實(shí)現(xiàn)反向代理nginx是高度模塊化的,各個(gè)功能都nginx實(shí)現(xiàn)反向代理
補(bǔ)充1location/admin{proxy_pass/;proxy_pass;}請(qǐng)求的url是/admin/a.html
如果代理方式是proxy_pass/;那么去的根目錄下找a.html
如果代理方式是proxy_pass;那么去的跟目錄下的admin找a.html補(bǔ)充2如果location中使用了模式匹配(正則),那么,location中的url會(huì)直接補(bǔ)充到代理節(jié)點(diǎn)的后面,此時(shí),上游服務(wù)器的的后面不能有任何內(nèi)容,包括/location~\.php${
proxy_pass;<<<正確寫(xiě)法
proxy_pass:80;<<<正確寫(xiě)法
proxy_pass/;<<<錯(cuò)誤寫(xiě)法
proxy_pass/img;<<<錯(cuò)誤寫(xiě)法
}此時(shí),如果請(qǐng)求的url是/book/stu/a.php,
就會(huì)代理成/book/stu/a.phpnginx實(shí)現(xiàn)反向代理補(bǔ)充1location/adminginx實(shí)現(xiàn)反向代理
補(bǔ)充3在location中如果有重定向的話,那么就用重定向后的uri替換掉代理節(jié)點(diǎn)中的urilocation/{rewrite/(.*)$/index.php?name=$1break;proxy_pass:80/img;}
此時(shí),如果請(qǐng)求的url是
/bajie,
就會(huì)代理成/index.php?name=bajie補(bǔ)充4rewrite語(yǔ)法:rewriteregex(表達(dá)式)replacement(替換項(xiàng))flag(標(biāo)志位)。
標(biāo)志位:break:
本條規(guī)則匹配完成后,終止匹配,不再匹配后面的規(guī)則
last:
相當(dāng)于apache里面的[L]標(biāo)記,表示rewrite,完成重寫(xiě)指令,之后搜索相應(yīng)的URI或locationpermanent:
返回301永久重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址
redirect:
返回302臨時(shí)重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址
nginx實(shí)現(xiàn)反向代理補(bǔ)充3在location中如果有重02Nginx
實(shí)現(xiàn)頁(yè)面緩存
02Nginx實(shí)現(xiàn)頁(yè)面緩存Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
Nginx緩存的基本思路:
利用請(qǐng)求的局部性原理,將請(qǐng)求過(guò)的內(nèi)容在本地建立一個(gè)副本,下次訪問(wèn)時(shí)不再連接到后端服務(wù)器,直接響應(yīng)本地內(nèi)容
Nginx服務(wù)器啟動(dòng)后,會(huì)對(duì)本地磁盤上的緩存文件進(jìn)行掃描,在內(nèi)存中建立緩存索引,并有專門的進(jìn)程對(duì)緩存文件進(jìn)行過(guò)期判斷、更新等進(jìn)行管理
緩存格式:key-value格式
key儲(chǔ)存在內(nèi)存中:就是將請(qǐng)求的urivalue儲(chǔ)存在磁盤上:就是緩存的數(shù)據(jù)
需要注意的是Nginx緩存需要結(jié)合反向代理一起才能實(shí)現(xiàn)
問(wèn)題
對(duì)于緩存,我們大概會(huì)有以下問(wèn)題:
(1)緩存文件放在哪兒?
(2)如何指定哪些請(qǐng)求被緩存?
(3)緩存的有效期是多久?
(4)過(guò)了有效期的數(shù)據(jù)是否還能使用?
(5)對(duì)于某些請(qǐng)求,是否可以不走緩存?
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字Nginx緩存的基Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(1)緩存文件放在哪兒?
設(shè)置緩存數(shù)據(jù)的相關(guān)信息
path:緩存目錄的位置
levels:指定使用幾級(jí)緩存目錄
keys_zone:指定緩存區(qū)域的名稱和緩存空間的大小
proxy_cache_path/data/nginx/cachelevels=1:2keys_zone=one:10m;
緩存結(jié)果:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029cNgi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(1)緩存文件放在Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(2)如何指定哪些請(qǐng)求被緩存?
1.如果開(kāi)啟了緩存:nginx默認(rèn)會(huì)緩存所有g(shù)et和head方法的請(qǐng)求結(jié)果,緩存的key默認(rèn)使用請(qǐng)求字符串
2.指定哪些請(qǐng)求方法的請(qǐng)求被緩存
3.指定請(qǐng)求至少被發(fā)送了多少次以上時(shí)才緩存,可以防止低頻請(qǐng)求被緩存
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(2)如何指定哪些Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(3)緩存的有效期是多久?
proxy_cache_valid20030210m;定義了返回狀態(tài)碼是200和302的請(qǐng)求其數(shù)據(jù)緩存十分鐘
proxy_cache_validany1m;定義返回任何狀態(tài)碼的請(qǐng)求其數(shù)據(jù)都緩存1分鐘
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(3)緩存的有效期Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(4)過(guò)了有效期的數(shù)據(jù)是否還能使用?
哪種情況下可以使用過(guò)期的數(shù)據(jù)
error:上游服務(wù)器響應(yīng)error的時(shí)候
timeout:表示上游服務(wù)器響應(yīng)超時(shí)的時(shí)候
updating如果當(dāng)前正在更新,該參數(shù)允許使用陳舊的緩存響應(yīng)。
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(4)過(guò)了有效期的Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(5)對(duì)于某些請(qǐng)求,是否可以不走緩存?
哪種情況下可以不使用緩存
proxy_cache_bypass$cookie_nocache$arg_nocache$arg_comment;proxy_cache_bypass$http_pragma$http_authorization;如果任何一個(gè)字符串參數(shù)值不為空,或者不等于0,nginx就不會(huì)查找緩存,直接進(jìn)行代理轉(zhuǎn)發(fā)
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(5)對(duì)于某些請(qǐng)求Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
演示配置
http段:
proxy_cache_path/cache/nginxlevels=1:1keys_zone=mycache:100m;Server段:
proxy_cachemycache;proxy_cache_valid20030210m;proxy_cache_valid3011h;proxy_cache_validany1m;proxy_cache_use_staleerrortimeoutinvalid_headerupdatinghttp_500;}
擴(kuò)展:
如何檢查我所請(qǐng)求的數(shù)據(jù)是哪個(gè)主機(jī)發(fā)送給我的?
添加首部add_headerserverHost$server_addr;
如果檢查我所請(qǐng)求的數(shù)據(jù)在緩存中是否存在?
添加首部add_headercacheStatus$upstream_cache_status;Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字演示配置htt03Nginx實(shí)現(xiàn)負(fù)載均衡
03Nginx實(shí)現(xiàn)負(fù)載均衡Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字
nginx負(fù)載均衡是ngx_http_upstream_module模塊的功能,
需要在配置文件http塊上下文中定義upstream塊,
指定一組負(fù)載均衡的后端服務(wù)器,
然后在上面講到的proxy_pass中引用,
就可以反向代理時(shí)實(shí)現(xiàn)負(fù)載均衡了。
需要注意的是:ngx_http_upstream段要在server段前面,要定義在http段中。
要實(shí)現(xiàn)基本的負(fù)載均衡用到的指令很簡(jiǎn)單
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字nginx負(fù)載均衡Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字
指令:upstreamExample:
upstreambackend{serverweight=5;server:8080max_fails=3fail_timeout=30s;serverdown;server80backup;}
作用:定義一個(gè)上游服務(wù)器組
格式
upstreamname{
server上游服務(wù)器1參數(shù)
參數(shù);server上游服務(wù)器1參數(shù)
參數(shù);server上游服務(wù)器1參數(shù)
參數(shù);}
注意:
定義服務(wù)器組的時(shí)候,不能寫(xiě)http://fail_timeout:
在經(jīng)歷了max_fails次失敗后,
暫停服務(wù)的時(shí)間。
max_fails:和fail_timeout一起使用,
進(jìn)行對(duì)后端服務(wù)器的健康狀態(tài)檢查;
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字指令:upstrNgi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字
演示配置
http段:
upstreammyservers{server80weigjt=1;server81weight=2;}
Server段:
location/test{proxy_passhttp://myservers;}演示配置
http段:
upstreammyservers{ip_hash;server80weigjt=1;server81weight=2;}
Server段:
location/test{proxy_passhttp://myservers;}
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字演示配置httNgi點(diǎn)nx擊實(shí)添現(xiàn)加負(fù)標(biāo)載題均文衡字
upstream支持4種負(fù)載均衡調(diào)度算法:
A)輪詢(默認(rèn)):每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器;
B)ip_hash:每個(gè)請(qǐng)求按訪問(wèn)IP的hash結(jié)果分配,同一個(gè)IP客戶端固定訪問(wèn)一個(gè)后端服務(wù)器??梢员WC來(lái)自同一ip的請(qǐng)求被打到固定的機(jī)器上,可以解決session問(wèn)題。
C)url_hash:按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器。后臺(tái)服務(wù)器為緩存的時(shí)候效率。
D)fair:這是比上面兩個(gè)更加智能的負(fù)載均衡算法。此種算法可以依據(jù)頁(yè)面大小和加載時(shí)間長(zhǎng)短智能地進(jìn)行負(fù)載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。Nginx本身是不支持fair的,如果需要使用這種調(diào)度算法,必須下載Nginx的
upstream_fair模塊。
Ngi點(diǎn)nx擊實(shí)添現(xiàn)加負(fù)標(biāo)載題均文衡字upstreamJDB感謝您的觀看!
串講人:劉豪偉2019年3月15日
Doonethingatatime,anddowell.JDB感謝您的觀看!串講人:劉豪偉201JDBnginx學(xué)習(xí)分享
串講人:劉豪偉2019年3月15日
Modestymakesoneprogress,pridemakesonelagbehind.JDBnginx學(xué)習(xí)分享串講人:劉豪偉20CONTENTS
123Nginx實(shí)現(xiàn)反向代理
Nginx實(shí)現(xiàn)頁(yè)面緩存
Nginx實(shí)現(xiàn)負(fù)載均衡
CONTENTS123Nginx實(shí)現(xiàn)反向代理Ngi01Nginx
做反向代理
01Nginx做反向代理正向代理與反向代理
現(xiàn)實(shí)生活中的例子
1、正向代理:訪問(wèn)
如上圖,因?yàn)槟壳癵oogle已被和諧,我們需要vpn才能科學(xué)訪問(wèn)
vpn對(duì)于“我們”來(lái)說(shuō),是可以感知到的(我們連接vpn),vpn對(duì)于”google服務(wù)器”來(lái)說(shuō),是不可感知的(google只知道有http請(qǐng)求過(guò)來(lái))。
對(duì)于人來(lái)說(shuō)可以感知到,但服務(wù)器感知不到的服務(wù)器,我們叫他正向代理服務(wù)器。
正向代理與反向代理現(xiàn)實(shí)生活中的例子1、正向代理:訪問(wèn)go正向代理與反向代理
現(xiàn)實(shí)生活中的例子
2、反向代理:通過(guò)反向代理實(shí)現(xiàn)負(fù)載均衡
總結(jié)
說(shuō)白了:“正向”、“反向”是相對(duì)于人的感知來(lái)說(shuō)的。人能感受到的代理就是正向代理,人感受不到的代理就是反向代理
如上圖,我們?cè)L問(wèn)的時(shí)候,百度有一個(gè)代理服務(wù)器,
通過(guò)這個(gè)代理服務(wù)器,可以做負(fù)載均衡,路由到不同的server。
此代理服務(wù)器,對(duì)于“我們”來(lái)說(shuō)是不可感知的(我們只能感知到訪問(wèn)的是百度的服務(wù)器,不知道中間還有代理服務(wù)器來(lái)做負(fù)載均衡)。
對(duì)于人來(lái)說(shuō)不可感知,但對(duì)于服務(wù)器來(lái)說(shuō)是可以感知的,我們叫他反向代理服務(wù)器。
正向代理與反向代理現(xiàn)實(shí)生活中的例子2、反向代理:通過(guò)反向nginx實(shí)現(xiàn)反向代理
nginx是高度模塊化的,各個(gè)功能都封裝在模塊中,而各個(gè)模塊的初始化則是根據(jù)配置文件來(lái)進(jìn)行的。
實(shí)現(xiàn)反向代理的模塊
模塊
:ngx_http_proxy_module指令:
proxy_pass:指定上游服務(wù)器的ip和端口
proxy_set_header:添加一個(gè)新的首部
指令語(yǔ)法
Syntax:proxy_passURL;Default:—
Context:location,ifinlocation,limit_except例子:proxy_pass96:8000;Syntax:proxy_set_headerfieldvalue;Default:proxy_set_headerHost$proxy_host;Context:http,server,location
nginx的配置中,可以使用變量
內(nèi)置變量:nginx自帶的
自定義變量:用戶定義的,定義方法:set變量名
變量值
演示配置
反向代理的例子
location/{
proxy_pass80;
proxy_set_headerX-Real-IP$remote_addr
proxy_set_headerHost$proxy_host;}
nginx實(shí)現(xiàn)反向代理nginx是高度模塊化的,各個(gè)功能都nginx實(shí)現(xiàn)反向代理
補(bǔ)充1location/admin{proxy_pass/;proxy_pass;}請(qǐng)求的url是/admin/a.html
如果代理方式是proxy_pass/;那么去的根目錄下找a.html
如果代理方式是proxy_pass;那么去的跟目錄下的admin找a.html補(bǔ)充2如果location中使用了模式匹配(正則),那么,location中的url會(huì)直接補(bǔ)充到代理節(jié)點(diǎn)的后面,此時(shí),上游服務(wù)器的的后面不能有任何內(nèi)容,包括/location~\.php${
proxy_pass;<<<正確寫(xiě)法
proxy_pass:80;<<<正確寫(xiě)法
proxy_pass/;<<<錯(cuò)誤寫(xiě)法
proxy_pass/img;<<<錯(cuò)誤寫(xiě)法
}此時(shí),如果請(qǐng)求的url是/book/stu/a.php,
就會(huì)代理成/book/stu/a.phpnginx實(shí)現(xiàn)反向代理補(bǔ)充1location/adminginx實(shí)現(xiàn)反向代理
補(bǔ)充3在location中如果有重定向的話,那么就用重定向后的uri替換掉代理節(jié)點(diǎn)中的urilocation/{rewrite/(.*)$/index.php?name=$1break;proxy_pass:80/img;}
此時(shí),如果請(qǐng)求的url是
/bajie,
就會(huì)代理成/index.php?name=bajie補(bǔ)充4rewrite語(yǔ)法:rewriteregex(表達(dá)式)replacement(替換項(xiàng))flag(標(biāo)志位)。
標(biāo)志位:break:
本條規(guī)則匹配完成后,終止匹配,不再匹配后面的規(guī)則
last:
相當(dāng)于apache里面的[L]標(biāo)記,表示rewrite,完成重寫(xiě)指令,之后搜索相應(yīng)的URI或locationpermanent:
返回301永久重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址
redirect:
返回302臨時(shí)重定向,瀏覽器地址會(huì)顯示跳轉(zhuǎn)后的URL地址
nginx實(shí)現(xiàn)反向代理補(bǔ)充3在location中如果有重02Nginx
實(shí)現(xiàn)頁(yè)面緩存
02Nginx實(shí)現(xiàn)頁(yè)面緩存Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
Nginx緩存的基本思路:
利用請(qǐng)求的局部性原理,將請(qǐng)求過(guò)的內(nèi)容在本地建立一個(gè)副本,下次訪問(wèn)時(shí)不再連接到后端服務(wù)器,直接響應(yīng)本地內(nèi)容
Nginx服務(wù)器啟動(dòng)后,會(huì)對(duì)本地磁盤上的緩存文件進(jìn)行掃描,在內(nèi)存中建立緩存索引,并有專門的進(jìn)程對(duì)緩存文件進(jìn)行過(guò)期判斷、更新等進(jìn)行管理
緩存格式:key-value格式
key儲(chǔ)存在內(nèi)存中:就是將請(qǐng)求的urivalue儲(chǔ)存在磁盤上:就是緩存的數(shù)據(jù)
需要注意的是Nginx緩存需要結(jié)合反向代理一起才能實(shí)現(xiàn)
問(wèn)題
對(duì)于緩存,我們大概會(huì)有以下問(wèn)題:
(1)緩存文件放在哪兒?
(2)如何指定哪些請(qǐng)求被緩存?
(3)緩存的有效期是多久?
(4)過(guò)了有效期的數(shù)據(jù)是否還能使用?
(5)對(duì)于某些請(qǐng)求,是否可以不走緩存?
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字Nginx緩存的基Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(1)緩存文件放在哪兒?
設(shè)置緩存數(shù)據(jù)的相關(guān)信息
path:緩存目錄的位置
levels:指定使用幾級(jí)緩存目錄
keys_zone:指定緩存區(qū)域的名稱和緩存空間的大小
proxy_cache_path/data/nginx/cachelevels=1:2keys_zone=one:10m;
緩存結(jié)果:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029cNgi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(1)緩存文件放在Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(2)如何指定哪些請(qǐng)求被緩存?
1.如果開(kāi)啟了緩存:nginx默認(rèn)會(huì)緩存所有g(shù)et和head方法的請(qǐng)求結(jié)果,緩存的key默認(rèn)使用請(qǐng)求字符串
2.指定哪些請(qǐng)求方法的請(qǐng)求被緩存
3.指定請(qǐng)求至少被發(fā)送了多少次以上時(shí)才緩存,可以防止低頻請(qǐng)求被緩存
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(2)如何指定哪些Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(3)緩存的有效期是多久?
proxy_cache_valid20030210m;定義了返回狀態(tài)碼是200和302的請(qǐng)求其數(shù)據(jù)緩存十分鐘
proxy_cache_validany1m;定義返回任何狀態(tài)碼的請(qǐng)求其數(shù)據(jù)都緩存1分鐘
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(3)緩存的有效期Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(4)過(guò)了有效期的數(shù)據(jù)是否還能使用?
哪種情況下可以使用過(guò)期的數(shù)據(jù)
error:上游服務(wù)器響應(yīng)error的時(shí)候
timeout:表示上游服務(wù)器響應(yīng)超時(shí)的時(shí)候
updating如果當(dāng)前正在更新,該參數(shù)允許使用陳舊的緩存響應(yīng)。
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(4)過(guò)了有效期的Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
(5)對(duì)于某些請(qǐng)求,是否可以不走緩存?
哪種情況下可以不使用緩存
proxy_cache_bypass$cookie_nocache$arg_nocache$arg_comment;proxy_cache_bypass$http_pragma$http_authorization;如果任何一個(gè)字符串參數(shù)值不為空,或者不等于0,nginx就不會(huì)查找緩存,直接進(jìn)行代理轉(zhuǎn)發(fā)
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字(5)對(duì)于某些請(qǐng)求Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字
演示配置
http段:
proxy_cache_path/cache/nginxlevels=1:1keys_zone=mycache:100m;Server段:
proxy_cachemycache;proxy_cache_valid20030210m;proxy_cache_valid3011h;proxy_cache_validany1m;proxy_cache_use_staleerrortimeoutinvalid_headerupdatinghttp_500;}
擴(kuò)展:
如何檢查我所請(qǐng)求的數(shù)據(jù)是哪個(gè)主機(jī)發(fā)送給我的?
添加首部add_headerserverHost$server_addr;
如果檢查我所請(qǐng)求的數(shù)據(jù)在緩存中是否存在?
添加首部add_headercacheStatus$upstream_cache_status;Ngi點(diǎn)nx實(shí)現(xiàn)擊添加頁(yè)標(biāo)面題緩文存字演示配置htt03Nginx實(shí)現(xiàn)負(fù)載均衡
03Nginx實(shí)現(xiàn)負(fù)載均衡Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字
nginx負(fù)載均衡是ngx_http_upstream_module模塊的功能,
需要在配置文件http塊上下文中定義upstream塊,
指定一組負(fù)載均衡的后端服務(wù)器,
然后在上面講到的proxy_pass中引用,
就可以反向代理時(shí)實(shí)現(xiàn)負(fù)載均衡了。
需要注意的是:ngx_http_upstream段要在server段前面,要定義在http段中。
要實(shí)現(xiàn)基本的負(fù)載均衡用到的指令很簡(jiǎn)單
Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字nginx負(fù)載均衡Ngi點(diǎn)nx實(shí)現(xiàn)擊添加負(fù)標(biāo)載題均文衡字
指令:upstreamExample:
upstreambackend{serverweight=5;server:8080max_fails=3fail_timeout=30s;serverdown;server80backup;}
作
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 尋呼機(jī)批發(fā)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 二零二五年度日用品電商平臺(tái)用戶隱私保護(hù)合同
- 鞋面零件企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 船舶運(yùn)輸合同經(jīng)典案例與索賠實(shí)務(wù)解析
- 鐵路設(shè)備企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 二零二五年度中式餐廳轉(zhuǎn)讓與地方特色菜品研發(fā)協(xié)議
- 控股公司服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 婚后財(cái)產(chǎn)獨(dú)立核算及2025年度財(cái)務(wù)規(guī)劃合同
- 二零二五年度生鮮市場(chǎng)租賃及產(chǎn)品銷售合同
- 《倉(cāng)儲(chǔ)管理實(shí)務(wù)》課件-倉(cāng)儲(chǔ)管理實(shí)務(wù)課件
- 柏子養(yǎng)心丸神經(jīng)保護(hù)機(jī)制
- 第17課《昆明的雨》課件(共35張)
- 《混凝土板樁支護(hù)技術(shù)規(guī)程》
- 2024低溫液化氣體氣瓶充裝站安全技術(shù)條件
- 醫(yī)院內(nèi)控評(píng)價(jià)工作報(bào)告
- 2021年10月自考00150金融理論與實(shí)務(wù)試題及答案含解析
- 智慧化除塵器及控制系統(tǒng)解決方案
- 急診預(yù)檢分診培訓(xùn)
- 建筑垃圾商業(yè)計(jì)劃書(shū)
- 設(shè)備管理制度的規(guī)范標(biāo)準(zhǔn)和流程
- 2024年蘭州市高三診斷考試(一診)地理試卷(含答案)
評(píng)論
0/150
提交評(píng)論