最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx動靜分離配置實(shí)現(xiàn)與說明

 更新時間:2022年04月07日 16:03:54   作者:愛吃兔肉的保爾  
這篇文章主要介紹了Nginx動靜分離配置實(shí)現(xiàn)與說明,需要的朋友可以參考下

一、概述

1.1 動態(tài)頁面與靜態(tài)頁面區(qū)別

  • 靜態(tài)資源: 當(dāng)用戶多次訪問這個資源,資源的源代碼永遠(yuǎn)不會改變的資源。
  • 動態(tài)資源:當(dāng)用戶多次訪問這個資源,資源的源代碼可能會發(fā)送改變。

1.2 什么是動靜分離

  • 動靜分離是讓動態(tài)網(wǎng)站里的動態(tài)網(wǎng)頁根據(jù)一定規(guī)則把不變的資源和經(jīng)常變的資源區(qū)分開來,動靜資源做好了拆分以后,我們就可以根據(jù)靜態(tài)資源的特點(diǎn)將其做緩存操作,這就是網(wǎng)站靜態(tài)化處理的核心思路
  • 動靜分離簡單的概括是:動態(tài)文件與靜態(tài)文件的分離。
  • 偽靜態(tài):網(wǎng)站如果想被搜索引擎搜素到,動態(tài)頁面靜態(tài)技術(shù)freemarker等模版引擎技術(shù)

1.3 為什么要用動靜分離

  • 在我們的軟件開發(fā)中,有些請求是需要后臺處理的(如:.jsp,.do等等),有些請求是不需要經(jīng)過后臺處理的(如:css、html、jpg、js等等文件),這些不需要經(jīng)過后臺處理的文件稱為靜態(tài)文件,否則動態(tài)文件。因此我們后臺處理忽略靜態(tài)文件。這會有人又說那我后臺忽略靜態(tài)文件不就完了嗎。當(dāng)然這是可以的,但是這樣后臺的請求次數(shù)就明顯增多了。在我們對資源的響應(yīng)速度有要求的時候,我們應(yīng)該使用這種動靜分離的策略去解決。
  • 動靜分離將網(wǎng)站靜態(tài)資源(HTML,JavaScript,CSS,img等文件)與后臺應(yīng)用分開部署,提高用戶訪問靜態(tài)代碼的速度,降低對后臺應(yīng)用訪問。這里我們將靜態(tài)資源放到nginx中,動態(tài)資源轉(zhuǎn)發(fā)到tomcat服務(wù)器中。
  • 因此,動態(tài)資源轉(zhuǎn)發(fā)到tomcat服務(wù)器我們就使用到了前面講到的反向代理了。

二、Nginx實(shí)現(xiàn)動靜分離

2.1 架構(gòu)分析

2.2 配置

動靜分離的原理很簡單,通過location對請求url進(jìn)行匹配即可,在/Users/Hao/Desktop/Test(任意目錄)下創(chuàng)建 /static/imgs 配置如下:  

###靜態(tài)資源訪問
server {
  listen       80;
  server_name  static.jb51.com;
  location /static/imgs {
       root /Users/Hao/Desktop/Test;
       index  index.html index.htm;
   }
}
###動態(tài)資源訪問
 server {
  listen       80;
  server_name  www.jb51.com;
    
  location / {
    proxy_pass http://127.0.0.1:8080;
     index  index.html index.htm;
   }
}

別一種按訪問資源配置

server {
        listen 80;
        server_name  jb51.net;
        access_log  /data/nginx/logs/jb51.net-access.log main;
        error_log  /data/nginx/logs/jb51.net-error.log;
 
        #動態(tài)訪問請求轉(zhuǎn)給tomcat應(yīng)用處理
        location ~ .(jsp|page|do)?$ {      #以這些文件結(jié)尾的
           proxy_set_header  Host $host;
           proxy_set_header  X-Real-IP  $remote_addr;
           proxy_pass http://tomcat地址;
        }
 
        #設(shè)定訪問靜態(tài)文件直接讀取不經(jīng)過tomcat
        location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$  {     #以這些文件結(jié)尾的
           expires      30d;
           root /data/web/html ;
        }
}

三、動靜分離與前后分離區(qū)別:

  • 動靜分離動態(tài)資源與靜態(tài)資源分離,不會部署在同一臺服務(wù)器上。
  • 前后分離:網(wǎng)站架構(gòu)模式,微服務(wù)開發(fā)基于SOA面向于服務(wù)器開發(fā),后臺和前端都采用調(diào)用接口方式。將一個項(xiàng)目拆分成一個控制Web(前端)和接口(后端),最終使用rpc遠(yuǎn)程調(diào)用技術(shù)。視圖層和業(yè)務(wù)邏輯層拆分,中間采用RPC遠(yuǎn)程調(diào)用技術(shù)

四、一些問題

  • 為什么互聯(lián)網(wǎng)公司項(xiàng)目中,靜態(tài)資源url后面會加上一個時間戳?他的作用:控制緩存
    • 目的:最終的目的是為了控制項(xiàng)目上線的時候,薪靜態(tài)資源與老的瀏覽器緩存靜態(tài)資源避免沖突問題。
    • 解決辦法:加上時間戳規(guī)范t = 項(xiàng)目上線
  • 304走本地緩存狀態(tài)碼原理:
    • 默認(rèn)瀏覽器圖片緩存是7天。
    • 第一次下載資源的時候,客戶端保存修改資源時間
    • 第二次下載資源的時候,服務(wù)端判斷客戶端上一次修改的時間是否需返回200還是304
    • 第二次下載資源的時候,服務(wù)端判斷當(dāng)前資源文件與客戶端上一次修改的時間是否需返回200還是304客戶端第二次下載資源最后修改時間 2018/6/28 下午11:07:11
    • 服務(wù)端最后一次修改時間大于客戶端最后一次修改的時間200重 新加載資源
    • 服務(wù)器端最后一次修改的時間小于客戶端最后修改的時間返回304走本地緩存

生產(chǎn)環(huán)境中js css最后一次的修改時間與客戶端緩存的最后一次修改的時間可能會產(chǎn)生
沖突。服務(wù)器在2018年5月22日上線,用戶在2018年6月01日訪問,用戶上線新js文件在2018年06月5日最后一次修改時間還是保留上次上線時間。所以一般來說在服務(wù)器上線的時候,都會在靜態(tài)資源上加上時間戳 強(qiáng)制最新的資源

更多關(guān)于Nginx動靜分離配置實(shí)現(xiàn)請查看下面的相關(guān)鏈接

相關(guān)文章

  • nginx 不同的訪問路徑對應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法

    nginx 不同的訪問路徑對應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法

    要在 Nginx 中配置不同的訪問路徑對應(yīng)不同的項(xiàng)目目錄,可以使用 Nginx 的?location?指令來實(shí)現(xiàn),本文主要介紹了nginx不同的訪問路徑對應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 基于nginx設(shè)置瀏覽器協(xié)商緩存過程詳解

    基于nginx設(shè)置瀏覽器協(xié)商緩存過程詳解

    這篇文章主要介紹了基于nginx設(shè)置瀏覽器協(xié)商緩存過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • nginx: [warn]

    nginx: [warn] "log_format" directive used only on "http" lev

    這篇文章主要介紹了nginx: [warn] "log_format" directive used only on "http" level 解決方法,需要的朋友可以參考下
    2014-08-08
  • 在Nginx服務(wù)器中啟用SSL的配置方法

    在Nginx服務(wù)器中啟用SSL的配置方法

    這篇文章主要介紹了在Ningx服務(wù)器中啟用SSL的配置方法,本文前提是已經(jīng)在Linux系統(tǒng)下安裝好了OpenSSL,需要的朋友可以參考下
    2015-08-08
  • Nginx中配置HTTP/2協(xié)議的詳細(xì)指南

    Nginx中配置HTTP/2協(xié)議的詳細(xì)指南

    HTTP/2 是 HTTP 協(xié)議的下一代版本,旨在提高性能、減少延遲并優(yōu)化現(xiàn)代網(wǎng)絡(luò)環(huán)境中的通信效率,本文將為大家介紹Nginx配置HTTP/2協(xié)議想詳細(xì)步驟,需要的可以參考下
    2025-04-04
  • nginx請求限制配置方法

    nginx請求限制配置方法

    這篇文章給大家介紹nginx請求限制配置方法,包括http協(xié)議的連接和請求,nginx配置語法,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • 在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法

    在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法

    在進(jìn)行軟件安裝時,若遇到報錯,常見的解決方法之一是檢查是否缺失依賴,并嘗試安裝所需的依賴包,記得去掉尖括號,對于nginx服務(wù)器,配置文件的位置和管理是關(guān)鍵操作之一,通過命令cd進(jìn)入后,使用sudo nano index.nginx-debian.html命令打開并編輯默認(rèn)的html文件
    2024-11-11
  • nginx根據(jù)二級目錄轉(zhuǎn)發(fā)服務(wù)以及帶/和不帶/的區(qū)別說明

    nginx根據(jù)二級目錄轉(zhuǎn)發(fā)服務(wù)以及帶/和不帶/的區(qū)別說明

    Nginx使用proxy_pass進(jìn)行二級目錄轉(zhuǎn)發(fā)時,配置中的斜杠(/)影響路徑的處理方式:帶斜杠表示絕對路徑,不帶斜杠表示相對路徑,具體轉(zhuǎn)發(fā)到后端服務(wù)的URL會有所不同
    2024-12-12
  • nginx反向代理文件下載失敗問題及解決

    nginx反向代理文件下載失敗問題及解決

    這篇文章主要介紹了nginx反向代理文件下載失敗問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Nginx下載、安裝與使用圖文教程

    Nginx下載、安裝與使用圖文教程

    Nginx是一個高性能的HTTP和反向代理服務(wù)器,支持IMAP/POP3/SMTP服務(wù),本文介紹了Nginx的下載、安裝、啟動和關(guān)閉方法,包括Windows版和Linux版(CentOS下)的詳細(xì)步驟,需要的朋友可以參考下
    2024-11-11

最新評論

霞浦县| 探索| 老河口市| 正镶白旗| 饶平县| 连平县| 江都市| 维西| 岳普湖县| 株洲市| 出国| 平和县| 都匀市| 镇康县| 扶余县| 将乐县| 邹平县| 丹江口市| 枣庄市| 柘荣县| 麟游县| 沈丘县| 义乌市| 寿阳县| 上饶市| 吉木乃县| 宾阳县| 海原县| 华亭县| 出国| 禄劝| 西和县| 获嘉县| 忻城县| 潼南县| 叙永县| 新丰县| 莆田市| 任丘市| 正蓝旗| 肇庆市|