Nginx Tomcat 動靜分離實驗

Nginx Tomcat 動靜分離實驗

1、安裝好Nginx 和Tomcat後,本實驗使用源碼安裝。 php

  • 相關路徑:
一、Nginx發佈路徑:/usr/local/nginx/html/colin1
二、Nginx 虛擬主機配置文件:/usr/local/nginx/conf/vhost 
    配置文件內容以下:
            server {
        listen       80;
        server_name  www.colin1.com;

        location / {
            proxy_pass http://28.44.20.34:8080;
        }
                # 注意location =/ 無效 必須使用 location /
        location ~ .*\.(jpg|png|bmp|txt|js|css|html|htm|gif|ico|jpeg)$ {
            root   html/colin1;
        }

        location ~ .*\.(jsp|cgi|shtml|php)$ {
            proxy_pass http://28.44.20.34:8080;
        }

}

三、Tomact 發佈路徑:/data/web/tomact/webapps/ROOT

2、實驗中遇到的問題css

  • 一、虛擬主機定義跟的時候使用 location =/ 無效 必須使用 location /
  • 二、客戶端訪問jsp內容時,會根據location匹配規則將jsp文件定位到tomcat的發佈路徑。當jsp裏面調用的是靜態內容時,會從新定位到一個url訪問。以jsp的圖片標籤爲例:
<img src="tomcat.png" alt="[tomcat logo]" />  
# 本質就是訪問 http://FQDN/訪問的jsp所在的路徑/tomcat.png
  • 三、如下爲jsp的整個訪問過程:
  • 就像其餘普通的網頁同樣,您的瀏覽器發送一個 HTTP 請求給服務器。html

  • Web 服務器識別出這是一個對 JSP 網頁的請求,而且將該請求傳遞給 JSP 引擎。經過使用 URL或者 .jsp 文件來完成。nginx

  • JSP 引擎從磁盤中載入 JSP 文件,而後將它們轉化爲 Servlet。這種轉化只是簡單地將全部模板文本改用 println() 語句,而且將全部的 JSP 元素轉化成 Java 代碼。web

  • JSP 引擎將 Servlet 編譯成可執行類,而且將原始請求傳遞給 Servlet 引擎。瀏覽器

  • Web 服務器的某組件將會調用 Servlet 引擎,而後載入並執行 Servlet 類。在執行過程當中,Servlet 產生 HTML 格式的輸出並將其內嵌於 HTTP response 中上交給 Web 服務器。tomcat

  • Web 服務器以靜態 HTML 網頁的形式將 HTTP response 返回到您的瀏覽器中。服務器

  • 最終,Web 瀏覽器處理 HTTP response 中動態產生的HTML網頁,就好像在處理靜態網頁同樣。
相關文章
相關標籤/搜索