亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Springmvc nginx實(shí)現(xiàn)動(dòng)靜分離過(guò)程詳解

 更新時(shí)間:2020年09月24日 10:21:08   作者:賈樹丙  
這篇文章主要介紹了Springmvc nginx實(shí)現(xiàn)動(dòng)靜分離過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在下自己整理 ,如有錯(cuò)誤請(qǐng)指正

一般的nginx的 靜態(tài)文件的項(xiàng)目是這么配置的

location ~ .*\.(js|css)?$
{
  root E:/Workspaces/Idea15/demo/web/WEB-INF;
  expires 1h;
}

但是如果這樣配置,系統(tǒng)是讀取不到對(duì)應(yīng)的文件的,因?yàn)閟pringmvc本身的前端模板配置了訪問(wèn)靜態(tài)資源 Handles

那如何使用nginx搭理訪問(wèn),實(shí)現(xiàn)動(dòng)靜分離

搭建nginx代理

第一階段,修改nginx.conf 文件

#location / {
  #root  html;
  #index index.html index.htm;
#}
location / {
  proxy_next_upstream http_502 http_504 error timeout invalid_header;
  proxy_pass  http://127.0.0.1:8080;
  # 真實(shí)的客戶端IP
  proxy_set_header  X-Real-IP    $remote_addr;
  # 請(qǐng)求頭中Host信息
  proxy_set_header  Host       $host;
  # 代理路由信息,此處取IP有安全隱患
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  # 真實(shí)的用戶訪問(wèn)協(xié)議
  proxy_set_header  X-Forwarded-Proto $scheme;
}

這樣替換以后,就可以通過(guò)nginx 代理轉(zhuǎn)到tomcat了,但是靜態(tài)資源仍然是通過(guò)tomcat 來(lái)讀取的

注意:不需要更改原始的項(xiàng)目文件,需要修改tomcat的配置,bin/server.xml 將端口號(hào)由80改回8080

處理靜態(tài)文件

第二階段,實(shí)現(xiàn)動(dòng)靜分離

在springmvc的前端控制器中配置如下:

<mvc:resources mapping="/image/**" location="/WEB-INF/"/>
<mvc:resources mapping="/css/**" location="/WEB-INF/"/>
<mvc:resources mapping="/js/**" location="/WEB-INF/"/>

在nginx中配置如下,demo是我的項(xiàng)目名稱,以下三種方式都可以區(qū)分

location demo/image/ {
  root E:/Workspaces/Idea15/demo/web/WEB-INF;
}
location /css/ {
  root E:/Workspaces/Idea15/demo/web/WEB-INF;
}
location js/ {
  root E:/Workspaces/Idea15/demo/web/WEB-INF;
}

但是寫成 /demo/image/ 就是不行的

注:404頁(yè)面等,如果在springmvc的項(xiàng)目中配置了,就不需要在這里接著配置了

最終的nginx.conf 頁(yè)面代碼如下:

#user nobody;
worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include    mime.types;
  default_type application/octet-stream;

  #access_log logs/access.log main;

  sendfile    on;
  #tcp_nopush   on;

  #keepalive_timeout 0;
  keepalive_timeout 65;

  #gzip on;

  server {
    listen    80;
    server_name localhost;

    location / {
      proxy_next_upstream http_502 http_504 error timeout invalid_header;
      proxy_pass  http://127.0.0.1:8080;
      # 真實(shí)的客戶端IP
      proxy_set_header  X-Real-IP    $remote_addr;
      # 請(qǐng)求頭中Host信息
      proxy_set_header  Host       $host;
      # 代理路由信息,此處取IP有安全隱患
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      # 真實(shí)的用戶訪問(wèn)協(xié)議
      proxy_set_header  X-Forwarded-Proto $scheme;
    }

    location image/ {
      root E:/Workspaces/Idea15/demo/web/WEB-INF;
    }
    location css/ {
      root E:/Workspaces/Idea15/demo/web/WEB-INF;
    }
    location js/ {
      root E:/Workspaces/Idea15/demo/web/WEB-INF;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page  500 502 503 504 /50x.html;
    location = /50x.html {
      root  html;
    }
  }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Gateway處理微服務(wù)的路由轉(zhuǎn)發(fā)機(jī)制

    Spring Gateway處理微服務(wù)的路由轉(zhuǎn)發(fā)機(jī)制

    我們?cè)敿?xì)地介紹了Spring Gateway,這個(gè)基于Spring 5、Spring Boot 2和Project Reactor的API網(wǎng)關(guān),通過(guò)這篇文章,我們可以清晰地看到Spring Gateway的工作原理,以及它的強(qiáng)大之處,感興趣的朋友一起看看吧
    2024-08-08
  • MyBatis主鍵自增的兩種實(shí)現(xiàn)方法

    MyBatis主鍵自增的兩種實(shí)現(xiàn)方法

    本文主要介紹了MyBatis主鍵自增的兩種實(shí)現(xiàn)方法,主要包括注解方式或配置文件方式來(lái)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • 一文詳解jvm中的引用類型

    一文詳解jvm中的引用類型

    在Java中對(duì)象以引用來(lái)指向JVM的內(nèi)存區(qū)塊,這里我們總結(jié)了強(qiáng)引用、軟引用、弱引用和假象引用(幽靈引用),下面這篇文章主要給大家介紹了關(guān)于jvm中引用類型的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • 使用idea解決maven依賴沖突的問(wèn)題

    使用idea解決maven依賴沖突的問(wèn)題

    這篇文章主要介紹了使用idea解決maven依賴沖突,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Springboot整合RabbitMQ消息中間件的使用

    Springboot整合RabbitMQ消息中間件的使用

    在沒(méi)有特別要求的情況下,通常會(huì)選擇RabbitMQ作為消息中間件,本文主要介紹了Springboot整合RabbitMQ消息中間件的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • SpringBoot之Controller的使用詳解

    SpringBoot之Controller的使用詳解

    本篇文章主要介紹了SpringBoot之Controller的使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 基于JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送

    基于JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了基于JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java如何導(dǎo)出數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表到指定文件夾

    Java如何導(dǎo)出數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表到指定文件夾

    這篇文章主要介紹了Java導(dǎo)出數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表到指定文件夾,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • idea新建文件后文件夾消失的問(wèn)題及解決

    idea新建文件后文件夾消失的問(wèn)題及解決

    這篇文章主要介紹了idea新建文件后文件夾消失的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • fastjson序列化時(shí)間自定義格式示例詳解

    fastjson序列化時(shí)間自定義格式示例詳解

    這篇文章主要為大家介紹了fastjson序列化時(shí)間自定義格式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評(píng)論