欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx增加健康檢查接口的實(shí)現(xiàn)示例

 更新時(shí)間:2024年02月20日 11:25:54   作者:Dxy1239310216  
Nginx作為一款強(qiáng)大的反向代理服務(wù)和負(fù)載均衡服務(wù),而健康檢查是為了保障nginx能夠準(zhǔn)確的轉(zhuǎn)發(fā)到后端的可用服務(wù),本文主要介紹了nginx增加健康檢查接口的實(shí)現(xiàn)示例,感興趣的可以了解一下

在docker中部署的nginx或者在nginx部署的nginx一般是需要一個(gè)健康檢查接口的

這樣的話,就可以確定容器當(dāng)前的狀態(tài)是否是健康的

那么,如何給nginx增加一個(gè)健康檢查的接口呢?

接下來(lái)呢,我們就演示一個(gè)在nginx中如何增加健康檢查的接口

1、打開(kāi)nginx的配置文件(nginx.conf)

2、增加如下的location

        location /healthcheck {
            default_type text/plain;

          return 200 "ok";
        }

參數(shù)說(shuō)明:

200是請(qǐng)求這個(gè)url返回的狀態(tài)碼 OK是返回的數(shù)據(jù)
default_type text/plain;表示是純文本顯示,瀏覽器訪問(wèn)不會(huì)進(jìn)行下載!

3、檢查配置文件、重啟nginx服務(wù)

nginx -t && nginx -s reload

4、瀏覽器訪問(wèn)

OK,這樣就完成了,對(duì)一個(gè)nginx服務(wù),增加健康檢查接口的能力。

Nginx健康檢查分為被動(dòng)探測(cè)與主動(dòng)探測(cè)兩種,

Nginx被動(dòng)健康檢查:

  • 通過(guò)自帶健康檢查模塊ngx_http_upstream_module實(shí)現(xiàn)
  • 當(dāng)收到訪問(wèn)時(shí)才對(duì)后端發(fā)起探測(cè)
  • 請(qǐng)求根據(jù)轉(zhuǎn)發(fā)規(guī)則首次可能落到不可用節(jié)點(diǎn),如多個(gè)節(jié)點(diǎn)故障則可能出現(xiàn)轉(zhuǎn)發(fā)多臺(tái)后才將請(qǐng)求轉(zhuǎn)到正常的服務(wù),在高并發(fā)的時(shí)候影響轉(zhuǎn)發(fā)效率

max_fails:在配置的fail_timeout期間,最大的連接錯(cuò)誤數(shù),默認(rèn)配置為1,如配置為0則表示不啟用探測(cè),不管后端服務(wù)是否異常仍然會(huì)轉(zhuǎn)發(fā),單位次數(shù)

fail_timeout:服務(wù)被認(rèn)為不可用的的時(shí)間,單位為s

如下配置:在3s內(nèi)中如果有1次連接失敗,則表示該節(jié)點(diǎn)不可用,將該節(jié)點(diǎn)下線3s后才會(huì)再次探測(cè)

upstream personal_1 {
       	server ip:port max_fails=1 fail_timeout=3;
      		server ip:port max_fails=1 fail_timeout=3;
}
    	server {
        	listen      80 ;
        	server_name _;
       	location ~ / {
               	proxy_pass http:// personal_1;
        	}
	}

模擬每秒1次請(qǐng)求,可以發(fā)現(xiàn)192.168.125.133服務(wù)在17:42探測(cè)異常,此時(shí)同步轉(zhuǎn)發(fā)至IP1服務(wù),同時(shí)17:43-17:46將IP2剔除下線,17:47開(kāi)始重新探測(cè)。

Nginx主動(dòng)健康檢查:

  • 通過(guò)nginx_upstream_check_module模塊實(shí)現(xiàn),官方nginx暫未加載該模塊,需要自行編譯
  • 主動(dòng)對(duì)后端服務(wù)發(fā)起探測(cè),如后端服務(wù)不可用,則不轉(zhuǎn)發(fā)
  • 后端服務(wù)恢復(fù)后,則主動(dòng)添加進(jìn)負(fù)載

主動(dòng)探測(cè)關(guān)鍵參數(shù)interval、rise、fall、timeout、type、check_http_send、check_http_expect_alive:

interval:健康檢查時(shí)間,單位ms

rise:檢查成功次數(shù),達(dá)到該值則認(rèn)為服務(wù)正常,加入負(fù)載

fall:檢查失敗次數(shù),達(dá)到該值則認(rèn)為服務(wù)異常,剔除下線

timeout:檢查超時(shí)時(shí)間,單位ms

type:檢查類型,支持tcp/http等多種協(xié)議類型

check_http_send:http探測(cè)發(fā)送的請(qǐng)求,支持自定義接口,默認(rèn):"GET / HTTP/1.0\r\n\r\n"

check_http_expect_alive:http探測(cè)狀態(tài)碼,除了該配置上的其他狀態(tài)碼均認(rèn)為服務(wù)不可用

如下配置:每1s發(fā)起主動(dòng)探測(cè),如出現(xiàn)1次失敗,則認(rèn)為該節(jié)點(diǎn)不可用,剔除下線,檢驗(yàn)返回碼2xx/3xx則認(rèn)為服務(wù)可用。

upstream personal {
               server IP1;
               server IP2;

               check interval=1000 rise=1 fall=1 timeout=1000 type=http default_down=false;
               check_http_send "GET / HTTP/1.0\r\n\r\n";
               check_http_expect_alive http_2xx http_3xx;
        }

        server {
            listen      80 ;
            server_name _;
            location ~ / {
                proxy_pass http:// personal;
            }
        }

如下每秒探測(cè)1次,返回非2xx或3xx,服務(wù)異常,剔除下線,多次均未向該服務(wù)轉(zhuǎn)發(fā)。

到此這篇關(guān)于nginx增加健康檢查接口的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)nginx增加健康檢查接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問(wèn)題解決

    nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問(wèn)題解決

    本文主要介紹了nginx實(shí)現(xiàn)反向代理出現(xiàn)502的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 解析nginx server_name的具體使用

    解析nginx server_name的具體使用

    nginx server_name對(duì)于正確配置虛擬主機(jī)非常重要,本文主要介紹了解析nginx server_name的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Linux下用Nginx作Perl程序服務(wù)器及其中Perl模塊的配置

    Linux下用Nginx作Perl程序服務(wù)器及其中Perl模塊的配置

    這篇文章主要介紹了Linux下用Nginx作Perl程序服務(wù)器及其中Perl模塊的配置,文中使用到了FastCGI中間件進(jìn)行連接,需要的朋友可以參考下
    2016-02-02
  • PHP開(kāi)發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子

    PHP開(kāi)發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子

    這篇文章主要介紹了PHP開(kāi)發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子,kohana曾經(jīng)是codeigniter框架的衍生版,后來(lái)發(fā)展成另一個(gè)獨(dú)立的PHP5開(kāi)發(fā)框架,需要的朋友可以參考下
    2014-07-07
  • Nginx 實(shí)現(xiàn)會(huì)話保持的方式配置小結(jié)

    Nginx 實(shí)現(xiàn)會(huì)話保持的方式配置小結(jié)

    本文主要介紹了在NGINX中實(shí)現(xiàn)會(huì)話保持的幾種常見(jiàn)方法,包括IP哈希、基于Cookie的會(huì)話保持、基于URL參數(shù)的會(huì)話保持及使用第三方的nginx-sticky-module模塊,感興趣的可以了解一下
    2024-11-11
  • nginx控制連接數(shù)及訪問(wèn)速率的實(shí)現(xiàn)

    nginx控制連接數(shù)及訪問(wèn)速率的實(shí)現(xiàn)

    本文主要介紹了Nginx中ngx_http_limit_conn_module和ngx_http_limit_req_module模塊的使用,用于控制連接數(shù)和請(qǐng)求速率,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 如何使用nginx充當(dāng)mysql的負(fù)載均衡器

    如何使用nginx充當(dāng)mysql的負(fù)載均衡器

    這篇文章主要介紹了使用nginx充當(dāng)mysql的負(fù)載均衡器過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • kubernetes啟用PHP+Nginx網(wǎng)頁(yè)環(huán)境教程

    kubernetes啟用PHP+Nginx網(wǎng)頁(yè)環(huán)境教程

    這篇文章主要介紹了kubernetes啟用PHP+Nginx網(wǎng)頁(yè)環(huán)境教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 通過(guò)Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解

    通過(guò)Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解

    這篇文章主要介紹了通過(guò)Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解Nginx服務(wù)器中map模塊的配置與使用

    詳解Nginx服務(wù)器中map模塊的配置與使用

    這篇文章主要介紹了Nginx服務(wù)器中map模塊的配置與使用,文中同時(shí)給出了ngx_http_map_module模塊的map命令用于制作服務(wù)器限速白名單的示例,需要的朋友可以參考下
    2016-01-01

最新評(píng)論