Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk mengkonfigurasi pemeriksaan kesihatan http Nginx

Bagaimana untuk mengkonfigurasi pemeriksaan kesihatan http Nginx

May 14, 2023 pm 06:10 PM
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;
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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;
 }
}
Salin selepas log masuk
.

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;
 }
}
Salin selepas log masuk

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;
 }
}
Salin selepas log masuk

. 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;
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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     
 }
}
Salin selepas log masuk

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;
   }
 }
}
Salin selepas log masuk

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!";
}
Salin selepas log masuk

以下示例使用感叹号(!)来定义响应不得通过运行状况检查的特征。在这种情况下,健康检查在非 301,302,303,或 307状态码,同时并没有 refresh 头信息时将通过检查,。

match not_redirect {
  status ! 301-303 307;
  header ! refresh;
}
Salin selepas log masuk

健康检查可以在其他非 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!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

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.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

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.

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

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.

Cara menyelesaikan nginx403 Cara menyelesaikan nginx403 Apr 14, 2025 am 10:33 AM

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.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

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.

Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

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.

See all articles