


Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban
Arahan geo disediakan oleh modul ngx_http_geo_module. Secara lalai, nginx memuatkan modul ini melainkan --without-http_geo_module dikonfigurasikan secara manual.
Modul ngx_http_geo_module boleh digunakan untuk mencipta pembolehubah yang nilainya bergantung pada alamat IP klien.
arahan geo
Sintaks: geo [$address] $variable { ... }
Nilai lalai: —
Bahagian konfigurasi: http
Mentakrifkan daripada pembolehubah yang ditentukan Dapatkan alamat ip pelanggan. Secara lalai, nginx mendapat alamat IP klien daripada pembolehubah $remote_addr, tetapi ia juga boleh diperoleh daripada pembolehubah lain. Seperti
geo $remote_addr $geo { default 0; 127.0.0.1 1; } geo $arg_ttlsa_com $geo { default 0; 127.0.0.1 1; }
Jika nilai pembolehubah ini tidak mewakili alamat IP yang sah, maka nginx akan menggunakan alamat "255.255.255.255".
nginx menerangkan alamat melalui cidr atau segmen alamat dan menyokong parameter berikut:
padam: padamkan rangkaian yang ditentukan
jika Jika alamat pelanggan tidak dapat sepadan dengan mana-mana alamat yang ditentukan, nginx akan menggunakan nilai lalai. CIDR boleh menggunakan "0.0.0.0/0" untuk menggantikan nilai lalai.
termasuk: Mengandungi fail yang mentakrifkan alamat dan nilai serta boleh mengandungi berbilang fail.
proksi: Tentukan alamat yang dipercayai. Apabila permintaan datang daripada alamat yang dipercayai, nginx akan mendapatkan maklumat alamat dengan bantuan pengepala "X-Forwarded-For". Berbanding dengan alamat biasa, alamat yang dipercayai dikesan secara berurutan.
proxy_recursive: Dayakan carian alamat rekursif. Jika carian rekursif dimatikan, nginx akan menggunakan alamat terakhir dalam "x-forwarded-for" dan bukannya alamat klien asal apabila alamat klien sepadan dengan alamat yang dipercayai. Jika carian rekursif didayakan, apabila alamat klien sepadan dengan alamat yang dipercayai, nginx akan menggunakan alamat terakhir dalam "x-forwarded-for" yang tidak sepadan dengan mana-mana alamat yang dipercayai untuk menggantikan alamat klien asal.
julat: Tentukan alamat dalam bentuk segmen alamat Parameter ini mesti diletakkan dahulu. Untuk mempercepatkan pemuatan pustaka alamat, alamat hendaklah ditakrifkan dalam tertib menaik.
geo $country { default zz; include conf/geo.conf; delete 127.0.0.0/16; proxy 192.168.100.0/24; proxy 2001:0db8::/32; 127.0.0.0/24 us; 127.0.0.1/32 ru; 10.1.0.0/16 ru; 192.168.1.0/24 uk; }
vim conf/geo.conf
10.2.0.0/16 ru; 192.168.2.0/24 ru;
Contoh segmen alamat:
geo $country { ranges; default zz; 127.0.0.0-127.0.0.0 us; 127.0.0.1-127.0.0.1 ru; 127.0.0.1-127.0.0.255 us; 10.1.0.0-10.1.255.255 ru; 192.168.1.0-192.168.1.255 uk; }
Arahan geo terutamanya memberikan nilai kepada pembolehubah berdasarkan IP. Oleh itu, hanya IP atau segmen rangkaian boleh ditakrifkan di bawah blok geo, jika tidak ralat akan dilaporkan.
<<> Modul Geo merealisasikan pengimbangan beban global
Pelayan1: 192.168.6.101 192.168.6.102
Pelayan3: 192.168.6.12
Mesin
ip: 192.168.6.2
Uji mesin 2 ip: 192.168.6.8
Uji mesin 3 ip: 192.168.6.189
1 ia!
Saya tidak menukar konfigurasi pelayan1 dan pelayan2~ Saya hanya menukar halaman utama, yang berguna untuk ujian!
pelayan1:
shell $> cd /usr/local/nginx/html shell $> rm index.html shell $> echo "192.168.6.101" > index.html
pelayan2:
shell $> cd /usr/local/nginx/html shell $> rm index.html shell $> echo "192.168.6.102" > index.html
Naikkan perkhidmatan mereka
shell $> /usr/local/nginx/sbin/nginx
2 .Ubah suai konfigurasi pelayan3`
shell $> cd /usr/local/nginx/conf/ shell $> vim nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; geo $geo { default default; 192.168.6.189/32 uk; 192.168.6.8/32 us; #这里的子网码是 32 是因为,我是单网段测试,如果你有vlan,你可以是24 例如 # 192.168.0.0/24 tw } upstream uk.server { server 192.168.6.101; } upstream us.server { server 192.168.6.102; } upstream default.server { server 192.168.6.121:8080; } sendfile on; keepalive_timeout 65; server { listen 80; server_name 192.168.6.121; index index.html index.htm; root html; location / { proxy_redirect off; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_pass http://$geo.server$request_uri; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 8080; server_name 192.168.6.121; location / { root html; index index.html index.htm; } } }
3 Uji, buka penyemak imbas pada mesin ujian 1 dan masukkan
http://192.168.6.121
paparan
.
Oleh kerana alamat IP mesin ujian 1 ialah 192.168.6.2 dan mengikut konfigurasi nginx, jelas sekali dia mengakses server3 port 8080! Kerana index.html server1 server2, saya mengubah suai
dan membuka penyemak imbas pada mesin ujian 2 ~ input
http://192.168.6.121
paparan
Buka penyemak imbas pada mesin ujian 3 ~ masukkan
http://192.168.6.121
Ip mesin ujian 3 ialah 192.168.6.189
Paparan:
Jelas sekali, pengimbangan beban memainkan peranan~~~
Dengan cara ini, ketiga-tiga pelayan boleh diletakkan di bilik komputer IDC yang berbeza. Kemudian hanya menyegerakkan data~ Kelebihan ini ialah ia menjimatkan masalah dengan DNS, kerana DNS pintar kadang-kadang akan menghuraikan alamat DNS pihak lain apabila menghuraikan mengikut IP yang melawat, dan memadankannya dengan pelayan Jika pihak lain Dia ialah pengguna Netcom, dan DNS Telekom yang digunakannya akan memadankannya terus dengan pelayan Telekom, nginx, dan memadankan pelayan berdasarkan IP akses Dengan cara ini, selagi kami mengumpul segmen IP setiap rantau, ia akan baiklah
Atas ialah kandungan terperinci Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban. 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



Artikel ini memperkenalkan kaedah pembinaan dan konfigurasi nginx. 1. Pasang nginx: Gunakan sudoyumininstallnginx pada centOS, gunakan sudoapt-getinstallnginx pada ubuntu, dan mulakan dengan sudosystemctlstartnginx selepas pemasangan. 2. 3. Konfigurasi Hos Maya: di nginx.co

Sebab -sebab mengapa Nginx digantung selepas berlari untuk tempoh masa: 1. Kebocoran memori; 2. Kesalahan konfigurasi; 3. Sumber yang tidak mencukupi; 4. Faktor luaran. Penyelesaian: 1. Diagnosis kebocoran memori; 2. Betulkan kesilapan konfigurasi; 3. Menyediakan lebih banyak sumber; 4. Tidak termasuk faktor luaran.

Pengimbangan beban Nginx mentakrifkan pelayan backend melalui modul hulu dan menggunakan blok lokasi untuk proksi permintaan kepada pelayan ini. Menyokong strategi mengimbangi beban seperti pengundian, bilangan sambungan minimum, pembobotan masa tindak balas, dan ip_hash. Contoh konfigurasi termasuk menentukan kumpulan hulu dan menunjuknya menggunakan arahan proksi_pass.

Nginx Restart Command: SUDO Systemctl Restart Nginx. Perintah lain yang berkaitan termasuk: 1. Mula: SUDO Systemctl Mula Nginx; 2. STOP: SUDO Systemctl Stop Nginx; 3. Periksa Status: SUDO Systemctl Status Nginx.

Nginx AutoIndex adalah fungsi menjana halaman HTML penyenaraian direktori, yang digunakan untuk melayari fail dan melihat maklumat fail apabila meminta direktori dan bukannya fail. Ia boleh disesuaikan dengan pilihan konfigurasi seperti memaparkan saiz fail yang tepat, masa tempatan, dan format halaman tersuai. Kelebihan termasuk pelayaran mudah, konfigurasi mudah dan menyediakan maklumat fail. Kelemahan termasuk risiko keselamatan, kesan prestasi, dan ketidakupayaan untuk menyesuaikan penampilan halaman.

Mengkonfigurasi Hos Maya Nginx membolehkan beberapa laman web dihoskan pada pelayan tunggal, masing -masing dengan nama domain yang berasingan dan direktori root. Langkah -langkah konfigurasi khusus termasuk: Membuat fail konfigurasi hos maya untuk mengkonfigurasi blok pelayan, menentukan port pendengaran pelayan, nama domain host maya dan direktori root dokumen untuk membolehkan hos maya, dan menghubungkan fail konfigurasi ke direktori yang diaktifkan untuk memuatkan semula nginx

Kaedah untuk mengarahkan melalui Nginx adalah 301 pengalihan kekal (pautan kemas kini atau halaman mudah alih) dan 302 pengalihan sementara (ralat pengendalian atau perubahan sementara). Mengkonfigurasi pengalihan semula melibatkan menggunakan arahan lokasi dalam blok pelayan, ciri-ciri canggih termasuk pemadanan ekspresi biasa, pengalihan proksi, dan pengalihan semula berasaskan keadaan. Penggunaan umum pengalihan termasuk mengemas kini URL, mengendalikan kesilapan, mengalihkan HTTP ke HTTPS, dan membimbing pengguna ke versi negara atau bahasa tertentu.

Nginx adalah pelayan web yang ringan, tidak menyekat dan proksi terbalik, yang biasa digunakan untuk proksi front-end, mengimbangi beban, dan caching. Hubungannya dengan pelayan web biasanya: proksi depan: Nginx mengendalikan permintaan dan meneruskannya ke pelayan back-end. Load Balancer: Nginx mengedarkan permintaan kepada pelayan backend berganda. Caching: Nginx cache yang sering diakses fail untuk prestasi.
