Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk melaksanakan konfigurasi pemeriksaan kesihatan pelayan Nginx

Bagaimana untuk melaksanakan konfigurasi pemeriksaan kesihatan pelayan Nginx

WBOY
WBOYasal
2023-11-08 10:39:351249semak imbas

Bagaimana untuk melaksanakan konfigurasi pemeriksaan kesihatan pelayan Nginx

Cara melaksanakan konfigurasi pemeriksaan kesihatan pelayan Nginx memerlukan contoh kod khusus

Nginx ialah pelayan web berprestasi tinggi dan Pelayan proksi terbalik, dengan perkembangan perniagaan Internet, memantau ketersediaan tinggi dan status kesihatan pelayan telah menjadi semakin penting. Artikel ini akan memperkenalkan cara mengkonfigurasi Nginx untuk melaksanakan pemeriksaan kesihatan pelayan dan memberikan contoh kod khusus.

1 Prinsip pemeriksaan kesihatan pelayan

Apabila melakukan pemeriksaan kesihatan, Nginx terutamanya mengesan status kesihatan pelayan dengan menghantar permintaan HTTP ke pelayan bahagian belakang. Jika pelayan membalas permintaan secara normal (kod status ialah 2xx), pelayan dianggap sihat dan akan terus memajukan permintaan kepada pelayan jika pelayan tidak bertindak balas (tamat masa atau kod status ialah 5xx), pelayan dianggap tidak tersedia dan akan berhenti memajukan permintaan ke pelayan sehingga pelayan tersedia semula.

2. Konfigurasikan pemeriksaan kesihatan

1. Konfigurasi hulu

Pemeriksaan kesihatan biasanya dilakukan di blok konfigurasi hulu. huluan ialah modul Nginx yang mentakrifkan satu set pelayan bahagian belakang dan bertanggungjawab untuk mengedarkan permintaan kepada pelayan ini. Berikut ialah contoh konfigurasi huluan mudah:

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

2 Konfigurasikan parameter pemeriksaan kesihatan

Dalam blok konfigurasi huluan, anda boleh mengkonfigurasi kelakuan pemeriksaan kesihatan dengan menambahkan beberapa. parameter. Contohnya, anda boleh menentukan selang semakan, bilangan kegagalan maksimum, tamat masa, dsb. Berikut ialah contoh parameter pemeriksaan kesihatan yang biasa digunakan:

upstream backend {
    server backend1.example.com max_fails=3 fail_timeout=30s;
    server backend2.example.com max_fails=3 fail_timeout=30s;
    server backend3.example.com max_fails=3 fail_timeout=30s;
}

Dalam konfigurasi di atas, max_fails menentukan bilangan maksimum kegagalan dan fail_timeout menentukan tamat masa. Jika pelayan gagal melebihi jumlah maksimum kegagalan berturut-turut, ia akan dianggap tidak tersedia lagi Nginx tidak akan memajukan permintaan ke pelayan dan akan menjeda permintaan pemajuan ke pelayan untuk tempoh tamat.

3. Konfigurasikan permintaan pemeriksaan kesihatan

Nginx melakukan pemeriksaan kesihatan dengan menghantar permintaan HTTP ke pelayan bahagian belakang. Pemeriksaan kesihatan boleh dilaksanakan dengan mentakrifkan blok lokasi dan mengkonfigurasi laluan dan kod tindak balas permintaan pemeriksaan kesihatan. Berikut ialah contoh konfigurasi permintaan pemeriksaan kesihatan:

location /healthcheck {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
}

Dalam konfigurasi di atas, /healthcheck ialah laluan permintaan pemeriksaan kesihatan dan proxy_pass menentukan pelayan sasaran untuk memajukan permintaan cek.

4 Konfigurasikan status pemeriksaan kesihatan

Nginx mengkonfigurasi status pemeriksaan kesihatan melalui arahan proxy_next_upstream. Apabila semua pelayan tidak tersedia, Nginx boleh dikonfigurasikan untuk mengembalikan kod respons tersuai, atau ia boleh terus mengembalikan halaman ralat kepada klien. Berikut ialah contoh konfigurasi status pemeriksaan kesihatan:

http {
    upstream backend {
        server backend1.example.com max_fails=3 fail_timeout=30s;
        server backend2.example.com max_fails=3 fail_timeout=30s;
        server backend3.example.com max_fails=3 fail_timeout=30s;
        check interval=5s rise=2 fall=3 timeout=2s;
    }

    server {
        listen 80;
        server_name example.com;

        location /healthcheck {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
        }

        error_page 502 = /custom_502.html;
        location = /custom_502.html {
            root /usr/share/nginx/html;
            internal;
        }

        proxy_next_upstream error timeout invalid_header http_502;
    }
}

Dalam konfigurasi di atas, selang semakan menentukan selang semakan, kenaikan menentukan bilangan kejayaan berturut-turut, jatuh menentukan bilangan kegagalan berturut-turut dan tamat masa menentukan masa tamat. Parameter ini digunakan untuk mengkonfigurasi tingkah laku pemeriksaan kesihatan.

Melalui konfigurasi di atas, pemeriksaan kesihatan pelayan Nginx boleh dilaksanakan.

Ringkasan: Pemeriksaan kesihatan pelayan adalah kunci untuk memastikan ketersediaan perkhidmatan yang tinggi. Dengan mengkonfigurasi parameter dan permintaan pemeriksaan kesihatan Nginx, anda boleh memantau dengan berkesan status kesihatan pelayan bahagian belakang dan secara automatik menghentikan permintaan pemajuan ke pelayan apabila ia menjadi tidak tersedia. Saya harap contoh konfigurasi khusus yang disediakan dalam artikel ini membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan konfigurasi pemeriksaan kesihatan pelayan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn