Nginx動靜分離(Nginx Tomcat)

2022-09-08 01:06:28 字數 3413 閱讀 3155

第一步:nginx構建

第二步:tomcat構建

1.tomcat基礎點

(1)tomcat 是基於j**a開發的web容器,用來發布j**a**和jsp網頁。

(2)開發人員開發j**a web**,使用tomcat容器發布和解析,使用者通過瀏覽器實現訪問。

(3)發布j**a程式,需要提前配置好jdk環境。

(4)jdk是j**a開發工具包(sdk)和j**a程式執行環境(jre);jdk是j**a開發的核心元件。

(5)j**a執行環境(jre)包括:jvm+j**a類和庫;

j**a開發工具包(sdk)包括:j**ac、j**a工具

(6)開發人員開發的j**a程式,是原始碼檔案,預設不能直接使用;需要經過jacac(j**a編譯器),將原始碼檔案編譯生成j**a位元組碼檔案。

(7)j**a位元組碼檔案,可以放在jre環境中去執行(j**a執行時的環境tomcat);通過jvm解析j**a位元組碼檔案,從而提供給cpu或系統呼叫,使用者可以通過其他渠道訪問。

2.yum安裝j**a jdk軟體工具包

yum

install j**a-1.8.0* -y

#yum 安裝j**a jdk 不用配置變數

1rz2

tar -xzvf tomcat

4.將解壓後的tomcat二進位製包移動至/usr/local/tomcat,並拷貝/usr/local/tomcat至/usr/local/tomcat-1;相當於同一臺伺服器有兩個tomcat容器;

1

mv tomcat /usr/local/

2cp /usr/local/tomcat /usr/local/tomcat-1

5.啟動tomcat,檢視tomcat的埠號;修改tomcat-1埠號,並開啟tomcat-1;

1 cd /usr/local/tomcat/bin

2 ./startup.sh

3 netstat -antp |grep

j**a

4 cd /usr/local/tomcat-1

5sed -i '

s#8080#8081#;s#8005#8006#;s#8009#8010#

' conf/server.xml

6 ./bin/startup.sh

6.修改tomcat預設網頁

2cat >> index.jsp <56

78 eof

7.修改tomcat-1預設網頁

2cat >> index.jsp <56

78 eof

第三步:nginx動靜分離配置

1.動靜分離簡介

(1)是把靜態請求和動態請求分開,並不是單純的靜態頁面和動態頁面分離。

(2)可以使用nginx處理靜態頁面,用tomcat、php、resin、asp處理動態頁面。

(3)主流方案:純粹的把靜態檔案獨立成單獨的網域名稱,放在獨立的伺服器上。

(4)其他方案:動態檔案跟靜態檔案混合在一起發布,通過nginx分開。

2.負載均衡簡介

(1)負載:所有來自客戶端的請求叫做負載。

(2)均衡:把所有的網路請求通過**伺服器,按照一定的演算法**到後端伺服器上。

(3)硬體:fs、netscaler

(4)軟體:lvs、nginx、haproxy

3.nginx負載均衡

(1)nginx收到請求時會進行判斷,如果是靜態,則自行處理;如果是動態,則轉到後端伺服器處理。

(2)nginx負載均衡基於upstream模組(設定在http塊),需要在location塊設定proxy_pass**。

down 表示是當前server暫時不參與負載;

weight=number 權重配置;預設1,數字越大權重越大;

max_conns=number 限制**伺服器同時活動的最大連線數,預設0代表沒限制;

max_fails=number 連線失敗的最大次數;次數到達,返回proxy_next_upstream模組定義的錯誤;

fail_timeout=number 失敗次數到達後,暫停服務的時間;

backup  備用伺服器,其他所有非backup機器down或者忙碌時,請求backup機器。

4.upstream演算法

(1)輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器;如果後端伺服器down掉,能自動剔除;

即round robin ,根據nginx配置檔案中的順序,依次把客戶端的web請求分發到不同的後端伺服器。

(2)ip_hash

每個請求按訪問ip的hash結果分配,每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

ip位址的前三段作為引數加入hash函式,保證ip位址前三段相同的使用者經過hash計算分配到相同的後端伺服器。

(3)url_hash

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。

(4)weight

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

5.配置upstream塊

#兩個後端機器都不能使用,直接給使用者返回502錯誤。

6.動靜分離location規則新增

7.開啟nginx伺服器防火牆80埠、tomcat伺服器防火牆(8080埠、8081埠、8005埠、8006埠、8009埠、8010埠)

1 firewall-cmd --zone=public --add-port=80/tcp 

--add-port=8080/tcp --add-port=8081/tcp

--add-port=8005/tcp --add-port=8006/tcp

--add-port=8009/tcp --add-port=8010/tcp

--permanent

2 firewall-cmd --reload

9.配置完畢,正常訪問nginx伺服器;靜態請求nginx伺服器自行處理,動態請求通過nginx伺服器**給tomcat伺服器處理;

nginx動靜分離配置 Nginx動靜分離

動靜分離,就是將jsp servlet等動態資源交由tomcat或其他web伺服器處理,將css js image等靜態資源交由nginx或其他http伺服器處理,充分發揮各自的優勢,減輕其他伺服器的壓力,搭建更為高效的系統架構。nginx動靜分析的實現 下面要搭建nginx,環境中有三颱nginx...

nginx 動靜分離

定義nginx執行的使用者 和 使用者組 如果對應伺服器暴露在外面的話建議使用許可權較小的使用者 防止被入侵 user www www nginx程序數,建議設定為等於cpu總核心數 worker processes 8 開啟全域性錯誤日誌型別 error log var log nginx err...

nginx動靜分離

nginx location的正則法則 為區分大小寫的匹配。不區分大小寫的匹配 匹配firefox的正則同時匹配firefox 不匹配的 不匹配的 匹配除換行符以外的任意字元 location 匹配的優先順序 與location在配置檔案中的順序無關 location 注意一點的是 經同事提醒,可以...