


Bagaimana untuk mengkonfigurasi pemeriksaan kesihatan http Nginx
Pemeriksaan Pasif
Untuk pemeriksaan kesihatan pasif, nginx dan nginx serta memantau peristiwa semasa ia berlaku dan cuba memulihkan sambungan yang gagal. Jika itu masih tidak berfungsi, sumber terbuka nginx dan nginx plus akan menandakan pelayan sebagai tidak tersedia dan berhenti menghantar permintaan kepadanya buat sementara waktu sehingga ia ditandakan aktif semula.
Syarat di mana pelayan huluan ditandakan sebagai tidak tersedia ditakrifkan untuk setiap pelayan huluan dengan parameter huluan arahan pelayan dalam blok:
fail_timeout - set tanda pelayan Masa berbilang percubaan gagal mesti dibuat jika tidak tersedia, dan masa pelayan ditandakan sebagai tidak tersedia (lalai ialah 10 saat).
max_fails - Menetapkan bilangan percubaan gagal yang mesti berlaku semasa fail_timeout sebelum pelayan ditandakan sebagai tidak tersedia (lalai ialah 1 percubaan). Dalam contoh berikut, jika nginx gagal menghantar permintaan kepada pelayan atau tidak menerima respons 3 kali dalam masa 30 saat, ini bermakna pelayan tidak tersedia dalam masa 30 saat:
upstream backend { server backend1.example.com; server backend2.example.com max_fails=3 fail_timeout=30s; }
Perkara yang perlu diberi perhatian Ya, jika hanya terdapat satu kumpulan pelayan, parameter fail_timeout dan max_fails diabaikan dan pelayan tidak sekali-kali ditandakan sebagai tidak tersedia.
Permulaan Lambat Pelayan
Pelayan yang dipulihkan baru-baru ini boleh dibanjiri sambungan dengan mudah, yang mungkin menyebabkan pelayan ditandakan sebagai tidak tersedia lagi. Permulaan perlahan membolehkan pelayan huluan memulihkan beratnya secara beransur-ansur daripada sifar kepada nilai nominalnya selepas ia pulih atau tersedia. Ini boleh dilakukan dengan menyatakan parameter slow_start modul pelayan huluan:
upstream backend { server backend1.example.com slow_start=30s; server backend2.example.com; server 192.0.0.1 backup; }
Nota: Jika terdapat hanya satu pelayan dalam kumpulan, parameter slow_start akan diabaikan dan pelayan tidak akan sekali-kali ditandakan sebagai tidak tersedia. Permulaan perlahan ialah ciri proprietari nginx plus
semakan aktif nginx plus
nginx plus boleh melakukan ini dengan menghantar permintaan pemeriksaan kesihatan khas ke setiap pelayan dan Periksa kesihatan pelayan huluan secara berkala dengan mengesahkan respons yang betul.
Untuk membolehkan pemeriksaan kesihatan aktif:
1 Dalam proses menghantar permintaan (proxy_pass) kepada kumpulan huluan di blok lokasi, sertakan arahan health_check:
server { location / { proxy_pass http://backend; health_check; } }
Coretan ini mentakrifkan pelayan yang sepadan dengan semua permintaan ke lokasi / kumpulan huluan yang dihantar ke hujung belakang panggilan. Ia juga membolehkan pemantauan kesihatan lanjutan menggunakan arahan health_check: Secara lalai, nginx plus menghantar permintaan "/" kepada setiap pelayan dalam bahagian belakang kumpulan setiap lima saat.
Pemeriksaan kesihatan gagal jika berlaku sebarang ralat komunikasi atau tamat masa (kod status yang dikembalikan oleh pelayan adalah di luar julat 200-399). Pelayan ditandakan sebagai tidak sihat dan nginx plus tidak akan menghantar permintaan pelanggan kepadanya sehingga ia lulus pemeriksaan kesihatan semula.
Pilihan pilihan lain: Anda boleh menentukan port lain untuk pemeriksaan kesihatan, contohnya, untuk memantau kesihatan banyak perkhidmatan pada hos yang sama. Gunakan parameter port arahan untuk menentukan health_check port baharu:
server { location / { proxy_pass http://backend; health_check port=8080; } }
2 Dalam kumpulan pelayan huluan, gunakan arahan zon untuk menentukan kawasan memori kongsi:
http { upstream backend { zone backend 64k; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } }
. Kawasan ini adalah antara semua proses pekerja yang dikongsi di kalangan kumpulan huluan dan menyimpan konfigurasi kumpulan huluan. Ini membolehkan proses pekerja menggunakan set kaunter yang sama untuk menjejak respons daripada pelayan dalam kumpulan.
Nilai lalai untuk pemeriksaan kesihatan aktif boleh ditindih menggunakan argumen kepada arahan health_check:
location / { proxy_pass http://backend; health_check interval=10 fails=3 passes=2; }
Di sini, argumen selang meningkatkan kelewatan antara pemeriksaan kesihatan daripada lalai 5 saat kepada 10 Saat . Parameter gagal memerlukan pelayan gagal tiga pemeriksaan kesihatan untuk menandakannya sebagai tidak sihat (bermula dari nilai lalai). Akhir sekali, parameter pas bermakna pelayan mesti lulus dua semakan berturut-turut sebelum boleh ditanda sihat semula, bukannya nilai lalai.
Nyatakan url yang diminta
Nyatakan parameter uri dalam arahan health_check untuk menetapkan laluan permintaan pemeriksaan kesihatan:
location / { proxy_pass http://backend; health_check uri=/some/path; }
Uri yang ditentukan Akan dilampirkan pada nama domain pelayan atau alamat IP yang ditetapkan untuk pelayan di blok huluan. Untuk pelayan pertama dalam kumpulan sampel bahagian belakang yang diisytiharkan di atas, pemeriksaan kesihatan meminta uri http://backend1.example.com/some/path.
Tentukan syarat tersuai
Anda boleh menetapkan syarat tersuai yang mesti dipenuhi oleh respons agar pelayan lulus pemeriksaan kesihatan. Syarat ditakrifkan dalam blok padanan, yang dirujuk dalam hujah arahan health_check.
1. Pada peringkat http {}, nyatakan padanan {} blok dan namakannya, sebagai contoh: 'server_ok'
http { #... match server_ok { # tests are here } }
2.health_check dengan menyatakan parameter padanan blok dan padanan Nama blok parameter:
http { #... match server_ok { status 200-399; body !~ "maintenance mode"; } server { #... location / { proxy_pass http://backend; health_check match=server_ok; } } }
Pemeriksaan kesihatan lulus jika kod status respons berada dalam julat 200-399 dan badannya tidak mengandungi rentetan: 'mod penyelenggaraan'
Arahan padanan membolehkan nginx plus menyemak kod status, medan pengepala dan badan respons. Gunakan arahan ini untuk mengesahkan bahawa status berada dalam julat yang ditentukan, bahawa respons mengandungi pengepala atau bahawa pengepala atau badan sepadan dengan ungkapan biasa. Arahan padanan boleh mengandungi syarat status, keadaan badan dan berbilang syarat tajuk. Respons mesti memenuhi semua syarat yang ditetapkan dalam blok perlawanan untuk pelayan lulus pemeriksaan kesihatan.
例如,下面的 match 指令匹配有状态代码响应 200,精确值 text/html 的content-type 标题,页面中的文字:'welcome to nginx!'.
match welcome { status 200; header content-type = text/html; body ~ "welcome to nginx!"; }
以下示例使用感叹号(!)来定义响应不得通过运行状况检查的特征。在这种情况下,健康检查在非 301,302,303,或 307状态码,同时并没有 refresh 头信息时将通过检查,。
match not_redirect { status ! 301-303 307; header ! refresh; }
健康检查可以在其他非 http 协议中启用, 例如 fastcgi, , scgi, 甚至 tcp 和 udp。
很多很好的特性,就是需要 nginx plus 才能使用。
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pemeriksaan kesihatan http Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.
