6、nginx+linux下jdk配置

項羽齊發表於2018-03-26

Nginx高階

1.1 Nginx的程式

1.1.1 程式與守護程式

說明:Nginx的啟動一次啟動2個程式.一個是主程式,另一個是守護程式.守護程式的作用防治主程式意外關閉.

關閉Nginx:

如果需要關閉Nginx,先關閉守護程式.在關閉主程式.

nginx  -s stop

1.1.2 Nginx的例項化

說明:Nginx的程式可以做到秒開和秒關,並且可以無限的開啟程式.並且支援50000次的併發.

1.1.3 Nginx系統首頁跳轉

說明:Nginx中可以寫很多的服務項,每攔截一個url就是一項服務(server).

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

 

特殊的屬性:

root :表示轉向的是一個資料夾

proxy_pass:表示轉向具體的URL.它是一個代理的請求

1.2 實現京淘後臺頁面跳轉

1.2.1 編輯Nginx配置檔案

要求:url中輸入manage.jt.com時需要將請求轉發到localhost:8091上

實現:

通過Nginx實現反向代理

#京淘的後臺管理系統  nginx負載監聽瀏覽器.攔截具體的url實現頁面轉向

server { 
        listen        80;
        server_name    manage.jt.com;

        #頁面轉向 轉向的是一個具體的url 
        location / {
            proxy_pass http://localhost:8091;    
        }
    }

 

 

1.2.2 編輯Hosts檔案

說明:通過Hosts工具實現修改.修改hosts的作用是將請求轉發到本機.

 

 

1.2.3 頁面跳轉測試

 

 

 

1.2.4 異常說明

說明:

  1. 重啟Nginx時需要將nginx先全部關閉.再次啟動.之後測試
  2. 配置檔案複製前一個後修改

Nginx實現叢集的部署

2.1 叢集部署

2.1.1 叢集部署的意義

說明:通過配置叢集的方式,是解決高併發問題有效方案.

解決方法:通過Nginx負載均衡技術和反向代理技術,可以實現叢集的搭建

 

 

 

2.2 Window中啟動多臺tonmcat

2.2.1 Tomcat配置

說明:有些機器可能啟動無緩衝tomcat時報錯.需要自己手動複製本機自由的tomcat做測試.

2.2.2 修改配置檔案

說明:分別將專案的parent-common-manage通過Maven工具打包

1.修改server.xml檔案的埠

 

<Connector port="8092" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 

2.修改日誌監聽端

 

<Server port="8006" shutdown="SHUTDOWN">

 

3.修改AJP埠

 

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

2.3 配置Nginx

2.3.1 編輯負載均衡

#實現Nginx的負載均衡
    upstream jt{
        server 127.0.0.1:8091;
        server 127.0.0.1:8092;
        server 127.0.0.1:8093;
    }

 

2.3.2 負載均衡實現

#京淘的後臺管理系統  nginx負載監聽瀏覽器.攔截具體的url實現頁面轉向
    server { 
        listen        80;
        server_name    manage.jt.com;

        #頁面轉向 轉向的是一個具體的url  表示upstream名稱
        location / {
            proxy_pass http://jt;    
        }
    }

 

2.4 Tomcat啟動時異常

2.4.1 引入log4j日誌jar

 

 

說明:

引入日誌檔案需要的步驟

1.引入log4j.jar

2.檢測是否含有配置檔案

3.properties檔案如何被引用

要求:

    1.檔案的名稱必須為log4j.properties

    2.要求檔案的路徑位於resources目錄下

原因:

因為在log4j原始碼中有靜態程式碼塊.預設的讀取的配置檔案的路徑和名稱都是寫死的/log4j.properties

2.4.2 Tomcat日誌檔案

說明:通過tomact的日誌檔案檢測報錯資訊.如果檔案過多,先將tomcat停止,之後刪除catalina.log檔案,之後重啟

 

 

2.4.3 常見的錯誤

  1. 字母的大小寫 ,除了類名開頭之外 ,全部的都是小寫的(sql語句/配置檔案的路徑)
  2. 埠被佔用

a) 關機重啟

b) ~~~~~~~

2.5 Nginx負載均衡的策略

2.5.1 輪詢策略

說明:每臺服務根據順序依次訪問.並且它是nginx中預設的負載均衡的方式.

載入的順序和Nginx中的配置的順序是相同的

 

 

2.5.2 權重的方式

需求:

由於公司的伺服器不同同一個型號,效能上略有差異.這時使用輪詢可能會出現問題

2.解決方法:採用權重的方式

說明:根據伺服器的效能,動態的分配連線.

 

 

說明:通過權重的形式,可以根據伺服器的效能,動態的分配連線.一般公司配置使用權重的方式

2.5.3 IP_hash配置

需求:如何實現Session共享????

問題描述:當使用者登陸一臺伺服器時,在伺服器內部儲存了使用者的Session資訊.如果使用者再次發出請求後,將不能保證使用者訪問的依然是登陸過的伺服器.這時需要使用者再次登入.這種問題如何解決????

總結問題:由於使用者訪問的伺服器不固定,導致Session不能共享.

解決辦法:通過IP_Hash

說明:通過使用者的IP地址,nginx中內部進行雜湊值執行.最終繫結唯一的一臺伺服器.

總結:

通過IP_hash的計算,將伺服器與使用者的IP地址進行了繫結.實現了Session的共享.---------Session黏著!

通過IP_hash能夠解決簡單的Session共享問題.大型公司不會使用該方式(SSO)

 

圖例說明:

如果在配置檔案中配置了IP_hash,輪詢和權重將不起作用.

2.5.4 備用機機制

說明:如果nginx中的伺服器都處於滿負荷狀態.無暇顧及新的連線.這時備用機才會生效.如果主伺服器.處理完請求後處於正常狀態.這時備用機處理等待狀態.

 

2.5.5 通過Nginx如何實現專案部署

需求:需要將war包部署到伺服器中????

方法:通過Nginx下線伺服器處理

 

 

如果在server後邊新增down配置.nginx不會再將請求發往該伺服器.當伺服器部署完成後,down去掉,之後重啟nginx伺服器.表示部署完成.由於nginx的開啟和關閉的是速度很快,所有使用者沒有感覺!!!

 

 

 

Linux的專案部署

3.1 虛擬機器啟動

3.1.1 解壓檔案

說明:通過VMware開啟VMX檔案即可

 

開啟以後的效果

 

3.1.2 Linux操作作業系統的種類

特點:

  1. Linux作業系統在伺服器端大量的使用
  2. Linux系統安全性更好
  3. Linux系統穩定性更強  2周維護一次---一個月(運維)
  4. Linux作業系統全部都是基於檔案的
  5. 克隆linux系統

 

3.1.3 克隆作業系統

 

 

2.建立連結克隆之後修改名稱和路徑

 

3.2  Linux網路配置

3.2.1 橋接模式

 

 

3.2.2 NAT模式

說明:採用NAT模式後,只要固定了IP地址,可以永久的訪問.不用修改程式碼

 

 

 

查詢命令:ifconfig

 

3.2.3 固定IP地址

 

 

3.2.4 安裝xShell檔案

說明:XShell是遠端連線Linux作業系統的工具.通過xShell連線遠端的Linux作業系統

 

 

之後輸入使用者名稱和密碼連結程式

 

說明:如果出現該提示資訊表示xShell連線虛擬機器連線成功

 

 

3.2.5 建立快照

3.2.6 Linux系統命令

使用者名稱密碼:root root

1.cd /         回到根目錄

2.ls           查詢當前資料夾中的檔案

3.ll           查詢資料夾的詳細資訊

4.pwd          查詢當前資料夾的路徑

5. mkdir java tomcats   建立多個資料夾

6.mkdir -p aa bb/cc     建立多個資料夾

7.rm -rf  aa bb

   8.rm 檔名稱   y/n y

   9.vim aa.txt

1.如果沒有aa.txt檔案則建立

2.如果含有aa.txt檔案則編輯

3.I:表示編輯

4.Esc 退出模式模式

5.:wq 儲存退出

6.Esc+u 撤銷

3.3 JDK的配置

3.3.1 傳輸JDK

選中資料夾之後 拖拽到系統中(資料夾路徑固定)

 

 

3.3.2 解壓JDK

 

 

3.3.3 配置環境變數

說明: vim /etc/profile 表示編輯環境變數

 

 

3.3.4 讓配置生效

 

 

3.3.5 測試JDK配置是否成功

 

 

相關文章