|NO.Z.00004|——————————|CloudNative|——|Jenkins&Git分散式概述.V03|-----------------------------------------|實驗架構.V2|
阿新 • • 發佈:2022-03-27
[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)