Nginx 配置 keepalived安裝

2021-09-26 10:40:12 字數 3353 閱讀 6756

location [~|=|^~|~*] /uri
location =/uri{}
優先順序最高的匹配規則

location /uri
普通匹配的優先順序要高於正則匹配如果存在多個相同的字首的一般匹配,那麼最終會按照最大長度來做匹配

rewrite通過ngx_http_rewrite_module模組支援url重寫、支援if判斷,但不支援else

rewrite功能就是,使用nginx提供的全域性變數或自己設定的變數,結合正規表示式和標誌位實現url重寫以及重定向

rewrite只能放在server{},location{},if{}中,並且只能對網域名稱後邊的除去傳遞的引數外的字串起作用

條件的語法:

「=」 來判斷相等,用於字元比較

「~」 用正則來匹配(表示區分大小寫),「~*」 不區分大小寫

「-f -d -e」 來判斷是否為檔案、目錄、是否存在

語法:return code;

停止處理並返回指定狀態碼給客戶端。

if ($request_uri ~ *\.sh )
set variable value;

定義乙個變數並複製,值可以是文字、變數或者文字變數混合體

語法:rewrite regex replacement [flag]

last: 停止處理後續的rewrite指令集、 然後對當前重寫的uri在rewrite指令集上重新查詢

break; 停止處理後續的rewrite指令集 ,並不會重新查詢

綜合例項

如上配置對於: /images/ttt/test.png 會重寫到/mic?file=test.png, 於是匹配到 location /mic ; 通過try_files獲取存在的檔案進行返回。最後由於檔案不存在所以直接返回404錯誤

表面看rewrite和location功能有點像,都能實現跳轉,主要區別在於rewrite是在同一網域名稱內更改獲取資源的路徑,而location是對一類路徑做控制訪問或反向**,可以proxy_pass到其他機器。很多情況下rewrite也會寫在location裡,它們的執行順序是:

如果其中某步uri被重寫,則重新迴圈執行1-3,直到找到真實存在的檔案;迴圈超過10次,則返回500 internal server error錯誤

語法: expires 60s|m|h|d

操作步驟

瀏覽器請求 -> 告訴服務端當前瀏覽器可以支援壓縮型別->服務端會把內容根據瀏覽器所支援的壓縮策略去進行壓縮返回

->瀏覽器拿到資料以後解碼;  常見的壓縮方式:gzip、deflate 、sdch

、***這樣的二進位制檔案,沒必要做壓縮處理,因為這類檔案壓縮比很小,壓縮過程會耗費cpu資源

太小的檔案沒必要壓縮,因為壓縮以後會增加一些頭資訊,反而導致檔案變大

nginx預設只對text/html進行壓縮 ,如果要對html之外的內容進行壓縮傳輸,我們需要手動來配置

proxy_pass 既可以是ip位址,也可以是網域名稱,同時還可以指定埠

proxy_pass 指定的位址攜帶了uri,看我們前面的配置【/s】,那麼這裡的uri將會替換請求uri中匹配location引數部分;如上**將會訪問到

upstream 是nginx的http upstream模組,這個模組通過乙個簡單的排程演算法來實現客戶端ip到後端伺服器的負載均衡

語法:server address [parameters]

其中關鍵字server必選。

address也必選,可以是主機名、網域名稱、ip或unix socket,也可以指定埠號。

parameters是可選引數,可以是如下引數:

max_failsfail_timeout一般會關聯使用,如果某台server在fail_timeout時間內出現了max_fails次連線失敗,那麼nginx會認為其已經掛掉了,從而在fail_timeout時間內不再去請求它,fail_timeout預設是10s,max_fails預設是1,即預設情況是只要發生錯誤就認為伺服器掛掉了,如果將max_fails設定為0,則表示取消這項檢查。

ip_hash  根據ip的hash值來做**

預設是輪詢機制

權重 weight=x

fair 根據伺服器的響應時間來分配請求

url_hash

tar -zxvf keepalived.tar.gz

./configure --prefix=/mic/data/program/keepalived --sysconf=/etc

缺少依賴:yum install gcc ; yum install openssl-devel;yum -y install libnl libnl-devel 

編譯安裝 make && make install

cd到解壓的包 /parker/data/program/keepalived-1.3.9

ln -s /mic/data/program/keepalived/sbin/keepalived    /sbin  --建立軟鏈結

cp /mic/data/program/keepalived-1.3.9/keepalived/etc/init.d/keepalived      /etc/init.d/

新增到系統服務

chkconfig --add keepalived

chkconfig keepalived on

service keepalived start

配置檔案詳見 keepalived.conf;  gitlab

Centos6 5安裝配置keepalived

首先檢查安裝openssl devel yum install openssl devel 如果是離線,借鑑文章 configure prefix usr local keepalived with kernel dir usr src kernels 2.6.32 279.el6.x86 64 當...

Centos7下安裝配置keepalived

這裡用的是兩台裝置做高可用 確認使用的網絡卡 在這裡使用第2個網絡卡enp0s3 安裝的方法有很多,我這裡用的是yum安裝 小技巧 檢視yum安裝的配置檔案在哪兒 keepalived.conf內部檔案解讀 vim etc keepalived keepalived.conf 可以用d g刪掉裡面多...

keep alive不生效 keepalive詳解

一 簡介 二 vrrp協議 虛擬路由冗餘協議 vrrp是一種容錯協議,它通過把幾台路由裝置聯合組成一台虛擬的路由裝置,並通過一定的機制來保證當主機的下一跳裝置出現故障時,可以及時將業務切換到其它裝置,從而保持通訊的連續性和可靠性。vrrp將區域網內的一組路由器劃分在一起,稱為乙個備份組。備份組由乙個...