Rumah Operasi dan penyelenggaraan Nginx Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban

Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban

May 26, 2023 pm 07:32 PM
nginx geo

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

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;
}
Salin selepas log masuk
vim conf/geo.conf
Salin selepas log masuk
10.2.0.0/16  ru;
192.168.2.0/24 ru;
Salin selepas log masuk

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

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


pelayan2:

shell $> cd /usr/local/nginx/html
shell $> rm index.html
shell $> echo "192.168.6.102" > index.html
Salin selepas log masuk


Naikkan perkhidmatan mereka

shell $> /usr/local/nginx/sbin/nginx
Salin selepas log masuk

2 .Ubah suai konfigurasi pelayan3`

shell $> cd /usr/local/nginx/conf/
shell $> vim nginx.conf
Salin selepas log masuk
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;
    }
  }
}
Salin selepas log masuk


3 Uji, buka penyemak imbas pada mesin ujian 1 dan masukkan
http://192.168.6.121
paparan
.

Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban

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

Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban

Buka penyemak imbas pada mesin ujian 3 ~ masukkan
http://192.168.6.121
Ip mesin ujian 3 ialah 192.168.6.189
Paparan:

Modul geo dalam Nginx dan cara menggunakannya untuk mengkonfigurasi pengimbangan beban

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!

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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu 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)

Pemasangan Pelayan Nginx dan Panduan Konfigurasi Cepat Pemasangan Pelayan Nginx dan Panduan Konfigurasi Cepat Apr 13, 2025 pm 10:18 PM

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

Apa yang salah dengan Nginx berjalan sebentar? Apa yang salah dengan Nginx berjalan sebentar? Apr 14, 2025 am 07:18 AM

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.

Cara melaksanakan pengimbangan beban nginx Cara melaksanakan pengimbangan beban nginx Apr 14, 2025 am 07:21 AM

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 Nginx Restart Command Apr 14, 2025 am 07:27 AM

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.

Apa maksud nginx autoindex Apa maksud nginx autoindex Apr 14, 2025 am 07:36 AM

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.

Cara mengkonfigurasi tuan rumah maya di nginx Cara mengkonfigurasi tuan rumah maya di nginx Apr 14, 2025 am 08:15 AM

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

Cara mengalihkan di nginx Cara mengalihkan di nginx Apr 14, 2025 am 08:42 AM

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.

Hubungan antara nginx dan pelayan web Hubungan antara nginx dan pelayan web Apr 14, 2025 am 07:09 AM

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.

See all articles