1. 程式人生 > 其它 >|NO.Z.00004|——————————|CloudNative|——|Jenkins&Git分散式概述.V03|-----------------------------------------|實驗架構.V2|

|NO.Z.00004|——————————|CloudNative|——|Jenkins&Git分散式概述.V03|-----------------------------------------|實驗架構.V2|



[CloudNative:Jenkins&Git分散式概述.V03]                                                             [Applications.CloudNative] [|DevOps|tomcat+Jenkins|**3節點**|持續整合概述|git分散式|gitlab.yum倉庫|實驗測試|]








一、邏輯圖輔助資料——實驗
### --- 寫出Nginx通過代理伺服器,獲取訪問使用者的ip的配置。

server {
    listen 80;
    server_name _;
    location / {
        ..................
        proxy_pass         http://127.0.0.1:8000/;
        # $host 變數,Host 為變數名 
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;                       
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        
    }
}
二、實驗二:
### --- 寫出Nginx的一個簡單虛擬主機,監控www.qianfeng.com的80埠,
~~~     當匹配到/qianfeng時,跳轉到後臺10.10.7.163的8080埠

server {
    listen 80;
    server_name www.qianfeng.com;
    location /qianfeng {
        proxy_pass         http://10.10.7.163:8080;
    }
}
三、實驗三:
### --- 列出常見的http狀態碼,並加以說明

200("OK")                                                   // 正常
404                                                         // 找不到頁面
403                                                         // forbidden許可權被限制
502                                                         // Bad gateway
500                                                         // 伺服器內部錯誤
301                                                         // 臨時重定向
302                                                         // 永久重定向
四、實驗四:
### --- 簡述GET和POST請求,並寫出Nginx只允許GET和POST請求的配置。
GET:
~~~     # GET通常用於獲取服務端資料。
~~~     # GET方式提交資料特點:
~~~     get方式在url後面拼接引數,只能以文字的形式傳遞引數。
~~~     傳遞的資料量小,4kb左右(不同瀏覽器會有差異)。
~~~     安全性低,會將資訊顯示在位址列。
~~~     速度快,通常用於對安全性要求不高的請求
POST:
~~~     POST就是傳送、提交。可以向指定的資源提交要被處理的資料。
~~~     post提交資料相對於get的安全性高一些。
~~~     傳遞資料量大,請求對資料長度沒有要求。
~~~     請求不會被快取,也不會保留在瀏覽器的歷史記錄中。
~~~     用於密碼等安全性要求高的場合,提交資料量較大的場合,如上傳檔案,釋出文章等。
~~~     POST方式提交資料上限預設為8M(可以在PHP的配置檔案post_max_size選項中修改)
~~~     如果使用表單方式進行提交,表單的method必須設定為POST。

if ($request_method !~* GET|POST) {
            return 403;
        }
五、實驗五:
### --- Nginx是如何處理一個請求的呢?

~~~     請求會根據host進行匹配,如果找到匹配項,就去匹配的專案上請求。
~~~     如果沒有找到匹配項,就會去這個埠預設的服務請求,
~~~     也就是預設的serve_name,預設的server_name 怎麼判定,
~~~     預設的是寫在這個埠上的第一個server,就預設為他是預設服務
六、實驗六:
### --- 如何開啟Nginx壓縮功能,並設定上傳檔案的格式和大小。
~~~     開啟gzip的指令如下:
~~~     設定上傳檔案的格式和大小:
~~~     在http{}中新增一個client_max_body_size 20m

gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6].";
gzip_types text/plain application/x-javascript text/css text/javascript;
七、實驗七:
### --- tomcat記憶體優化中,記憶體溢位的處理辦法?
~~~     首先,需要先把tomcat服務關閉,以防伺服器宕機,通過修改初始化記憶體,最大記憶體等資訊
~~~     然後tomcat的catalina.sh檔案,在第一行的後面增加一句:
~~~     -Xms256m是最小記憶體,-Xmx512m是最大記憶體,其中的256與512可根據你自己的記憶體做相應調整,
~~~     PermSize/MaxPermSize最小/最大堆大小.一般報記憶體不足時,都是說這個太小,
~~~     堆空間剩餘小於5%就會警告,建議把這個稍微設大一點,不過要視自己機器記憶體大小來設定

JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'
八、實驗八:
### --- 如何修改Tomcat的預設埠和預設釋出目錄路徑

~~~     找到tomcat的安裝路徑,進去conf目錄,開啟server.xml,找到8080,
~~~     修改為自己想設定的埠同樣在server.xml檔案裡面修改
九、實驗九:
### --- tomcat程序開啟的所有檔案

~~~     查出tomcat的程序號    然後lsof –p pid |wc –l 
十、實驗十:
### --- 寫一個自動啟動tomcat的指令碼

~~~     可以每分鐘檢視tomcat程序是否存在,如果不存在,就啟動tomcat程序
十一、實驗十一:
### --- Tomcat服務的配置檔案是哪個?後端Java,客戶端訪問慢,從哪幾點考慮?

~~~     tomcat服務的配置檔案是server.xml
~~~     伺服器記憶體
~~~     java虛擬機器記憶體分配問題
~~~     併發設定
~~~     程序設定
十二、實驗十二:
### --- 如何優化linux作業系統

~~~     更改預設ssh埠,禁止root使用者登入,採用私鑰的連線方式
~~~     定時自動更新服務方式器時間
~~~     調整檔案描述符的數量
~~~     設定自啟動服務
~~~     修改核心引數/etc/sysctl.conf    sysctl –p生效
~~~     更改字符集
十三、實驗十三:
### --- 你用過幾種中介軟體/web應用伺服器軟體產品,各是什麼?
~~~     中介軟體:php:php-fpmphp-mysqlphp-gdphp-cli
~~~     Web應用伺服器軟體產品:
~~~     Apache,由於其跨平臺和安全性被廣泛使用
~~~     Nginx免費開放原始碼的Web應用伺服器

Jsp:Tomcat  Resin  JBOSS  WebSphere  Weblogic
十四、實驗十四:
### --- 說明Nginx和Apacache作為web伺服器的區別?

~~~     相比 Apache,Nginx 使用更少的資源,支援更多的併發連線,體現更高的效率,
~~~     這點使 Nginx 尤其受到虛擬主機提供商的歡迎。在高連線
~~~     併發的情況下,Nginx是Apache伺服器不錯的替代品:
~~~     能夠支援高達 50,000 個併發連線數的響應。
~~~     # Nginx作為負載均衡伺服器: 
~~~     Nginx 既可以在內部直接支援 Rails 和 PHP 程式對外進行服務, 
~~~     也可以支援作為 HTTP代理 伺服器對外進行服務.
~~~     Nginx採用C進行編寫, 不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多.

~~~     Nginx 配置簡潔, Apache 複雜
~~~     Nginx 靜態處理效能比 Apache 高 3倍以上
~~~     Apache 對 PHP 支援比較簡單,Nginx 需要配合其他後端用
~~~     Apache 的元件比 Nginx 多
十五、實驗十五:
### --- 列出Nginx的5條調優策略

~~~     # 這裡的數值不能超過 CPU 的總核數,
~~~     因為在單個核上部署超過 1 個 Nginx 服務程序並不起到提高效能的作用。
        worker_processes 24;
~~~     # Nginx 最大可用檔案描述符數量,同時需要配置作業系統的 "ulimit -n 200000",
~~~     或者在 /etc/security/limits.conf 中配置。 
        worker_rlimit_nofile 200000;

~~~     # 只記錄 critical 級別的錯誤日誌
        error_log /var/log/nginx/error.log crit
~~~     # 配置單個 Nginx 單個程序可服務的客戶端數量,
~~~     (最大值客戶端數 = 單程序連線數 * 程序數 )
~~~     最大客戶端數同時也受作業系統 socket 連線數的影響(最大 64K )
        worker_connections 4000;

~~~     # 允許儘可能地處理更多的連線數,如果 worker_connections 配置太低,
~~~     會產生大量的無效連線請求。
        multi_accept on;
十六、實驗十六:
### --- 常用的HTTP方法有哪些?

~~~     GET 從伺服器獲取一份文件  不需要主體
~~~     HEAD    只從伺服器獲取文件首部 不需要主體
~~~     POST    向伺服器傳送需要處理的資料   需要主體
~~~     PUT 將請求的主體內容存在伺服器上  需要主體
~~~     TRACE   對可能經過代理伺服器傳送到伺服器上的報文進行追蹤    不需要主體
~~~     OPTIONS 可以決定在伺服器上可以執行哪些方法   不需要主體
~~~     DELETE  從伺服器上刪除一份文件 不需要主體
十七、實驗十七:
### --- http和https的區別

~~~     https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
~~~     (阿里雲廠商提供免費證書)
~~~     http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
~~~     http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。
~~~     http的連線很簡單,是無狀態的;
~~~     HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。
十八、實驗十八:
### --- Nginx訪問頁面報錯403,502如何解決,寫出思路

~~~     403檢查所訪問檔案的許可權,檢查Nginx配置檔案指定的使用者
~~~     502檢查後臺服務是否執行正常
十九、實驗十九:
### --- Nginx配置禁止訪問/var/nginx目錄

location = /var/nginx/ { 
return 404; 
} 
二十、實驗二十:
### --- 為什麼Nginx效能這麼高?
~~~     # 作為?Web?伺服器:
~~~     Nginx?使用資源少,支援更多的併發連線。

~~~     # 作為負載均衡伺服器:
~~~     Nginx 既可以在內部直接支援 Rails 和 PHP,
~~~     也可以支援作為 HTTP代理伺服器 對外進行服務。Nginx 用 C 編寫,
~~~     不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)