


Cara menggunakan Nginx untuk pengehadan kadar permintaan dan kawalan aliran
Cara menggunakan Nginx untuk pengehadan kadar permintaan dan kawalan aliran
Nginx ialah pelayan web dan pelayan proksi yang ringan dengan prestasi tinggi dan keupayaan pemprosesan serentak yang tinggi, sesuai untuk membina sistem teragih yang besar. Dalam aplikasi praktikal, untuk memastikan kestabilan pelayan, kami selalunya perlu mengehadkan kadar dan aliran permintaan. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk pengehadan kadar permintaan dan kawalan aliran, serta memberikan contoh kod.
- Had kadar permintaan
Had kadar permintaan merujuk kepada mengehadkan bilangan permintaan yang boleh dimulakan oleh setiap pelanggan dalam tempoh masa tertentu. Ini boleh menghalang pelanggan daripada meminta pelayan terlalu kerap, menyebabkan penggunaan sumber pelayan yang berlebihan.
Pertama, tambahkan kod berikut pada fail konfigurasi Nginx:
http { # 定义限速区域,以client IP为准 limit_req_zone $binary_remote_addr zone=limit:10m rate=10r/s; server { listen 80; # 使用limit_req模块限制请求速率 location / { limit_req zone=limit burst=20; proxy_pass http://backend; } } }
Konfigurasi di atas akan mengehadkan setiap pelanggan untuk memulakan sehingga 10 permintaan dalam masa 1 saat, dan permintaan yang melebihi had akan ditangguhkan.
- Kawalan aliran
Kawalan aliran merujuk kepada penjadualan dan pemuatan permintaan melalui Nginx untuk mengoptimumkan beban pelayan dan meningkatkan pengalaman pengguna. Dengan memperuntukkan sumber pelayan secara rasional, anda boleh memastikan bahawa pelbagai jenis permintaan boleh dikendalikan dengan sewajarnya.
Berikut ialah kod sampel untuk kawalan aliran:
http { # 定义后端服务器 upstream backend { server backend1; server backend2; } server { listen 80; location /api/ { # 根据请求路径进行分流 if ($request_uri ~* "^/api/v1/") { proxy_pass http://backend1; } if ($request_uri ~* "^/api/v2/") { proxy_pass http://backend2; } } location / { # 静态文件请求走本地硬盘 try_files $uri $uri/ =404; } } }
Konfigurasi di atas akan secara terpilih memajukan trafik ke pelayan bahagian belakang berdasarkan laluan yang diminta. Sebagai contoh, permintaan yang bermula dengan /api/v1/ akan dimajukan ke pelayan backend1, dan permintaan yang bermula dengan /api/v2/ akan dimajukan ke pelayan backend2.
Anda boleh menggabungkan modul Nginx yang lain untuk melaksanakan kawalan trafik yang lebih kompleks mengikut keperluan sebenar, seperti kawalan trafik yang terperinci melalui kekerapan akses HTTP, IP pengguna atau kuki.
Ringkasan:
Melalui contoh di atas, kami mempelajari cara menggunakan Nginx untuk pengehadan kadar permintaan dan kawalan aliran. Pengehadan kadar permintaan boleh menghalang permintaan berniat jahat daripada menyebabkan tekanan yang berlebihan pada pelayan, manakala kawalan aliran boleh memperuntukkan sumber pelayan secara munasabah mengikut keperluan yang berbeza dan meningkatkan pengalaman pengguna. Dengan mengkonfigurasi Nginx dengan betul, kami dapat memastikan kestabilan dan prestasi pelayan dengan lebih baik.
Atas ialah kandungan terperinci Cara menggunakan Nginx untuk pengehadan kadar permintaan dan kawalan aliran. 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.
