Nginx 動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)跟靜態(tài)請(qǐng)求分開(kāi)鹏漆,不能理解成只是單純的把動(dòng)態(tài)頁(yè)面和靜態(tài)頁(yè)面物理分離刽严。嚴(yán)格意義上說(shuō)應(yīng)該是動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開(kāi)高镐,可以理解成使用 Nginx 處理靜態(tài)頁(yè)面犀概,Tomcat 處理動(dòng)態(tài)頁(yè)面。動(dòng)靜分離從目前實(shí)現(xiàn)角度來(lái)講大致分為兩種品腹,一種是純粹把靜態(tài)文件獨(dú)立成單獨(dú)的域名,放在獨(dú)立的服務(wù)器上红碑,也是目前主流推崇的方案舞吭;另外一種方法就是動(dòng)態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過(guò) nginx 來(lái)分開(kāi)析珊。
通過(guò) location 指定不同的后綴名實(shí)現(xiàn)不同的請(qǐng)求轉(zhuǎn)發(fā)羡鸥。通過(guò) expires 參數(shù)設(shè)置,可以使瀏覽器緩存過(guò)期時(shí)間唾琼,減少與服務(wù)器之前的請(qǐng)求和流量兄春。具體 Expires 定義:是給一個(gè)資源設(shè)定一個(gè)過(guò)期時(shí)間,也就是說(shuō)無(wú)需去服務(wù)端驗(yàn)證锡溯,直接通過(guò)瀏覽器自身確認(rèn)是否過(guò)期即可赶舆,
所以不會(huì)產(chǎn)生額外的流量。此種方法非常適合不經(jīng)常變動(dòng)的資源祭饭。(如果經(jīng)常更新的文件芜茵,不建議使用 Expires 來(lái)緩存),我這里設(shè)置 3d倡蝙,表示在這 3 天之內(nèi)訪問(wèn)這個(gè) URL九串,發(fā)送一個(gè)請(qǐng)求,比對(duì)服務(wù)器該文件最后更新時(shí)間沒(méi)有變化,則不會(huì)從服務(wù)器抓取猪钮,返回狀態(tài)碼
304品山,如果有修改,則直接從服務(wù)器重新下載烤低,返回狀態(tài)碼 200肘交。
6.1 實(shí)驗(yàn)代碼
1.項(xiàng)目資源準(zhǔn)備
2.進(jìn)行 nginx 配置
找到 nginx 安裝目錄,打開(kāi)/conf/nginx.conf 配置文件扑馁,
添加監(jiān)聽(tīng)端口涯呻、訪問(wèn)名字
重點(diǎn)是添加 location,
最后檢查 Nginx 配置是否正確即可腻要,然后測(cè)試動(dòng)靜分離是否成功复罐,之需要?jiǎng)h除后端 tomcat 服務(wù)器上的某個(gè)靜態(tài)文件,查看是否能訪問(wèn)雄家,如果可以訪問(wèn)說(shuō)明靜態(tài)資源 nginx 直接返回了效诅,不走后端 tomcat 服務(wù)器