Rumah Operasi dan penyelenggaraan Nginx Membina sistem teragih: menggunakan Pengurus Proksi Nginx untuk melaksanakan penemuan perkhidmatan dan penghalaan

Membina sistem teragih: menggunakan Pengurus Proksi Nginx untuk melaksanakan penemuan perkhidmatan dan penghalaan

Sep 26, 2023 am 10:03 AM
nginx sistem teragih penemuan perkhidmatan

构建分布式系统:利用Nginx Proxy Manager实现服务发现与路由

Membina sistem teragih: menggunakan Pengurus Proksi Nginx untuk melaksanakan penemuan perkhidmatan dan penghalaan

Ikhtisar:
Dalam sistem moden penemuan perkhidmatan dan penghalaan adalah fungsi yang sangat penting. Penemuan perkhidmatan membolehkan sistem menemui dan mendaftarkan contoh perkhidmatan yang tersedia secara automatik, manakala penghalaan memastikan permintaan dimajukan dengan betul kepada tika perkhidmatan yang sesuai. Dalam artikel ini, kami akan memperkenalkan cara memanfaatkan Pengurus Proksi Nginx untuk membina penemuan perkhidmatan dan penyelesaian penghalaan yang mudah tetapi berkuasa, dan menyediakan contoh kod khusus.

  1. Fahami Pengurus Proksi Nginx
    Pengurus Proksi Nginx ialah pengurus pelayan proksi berasaskan Nginx yang menyediakan antara muka web yang mudah digunakan untuk mengkonfigurasi dan mengurus pelayan proksi terbalik. Ia menyokong proksi HTTP, HTTPS, TCP dan UDP, dan boleh melaksanakan fungsi seperti meminta pengimbangan beban dan penamatan SSL.
  2. Pasang dan konfigurasikan Pengurus Proksi Nginx
    Pertama, kita perlu memasang Pengurus Proksi Nginx. Ia boleh dipasang melalui arahan berikut:
npm install -g nginx-proxy-manager
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan Pengurus Proksi Nginx:

npm start
Salin selepas log masuk

Selepas bermula, anda boleh menyemak imbas dengan Pelayan mengakses http://localhost:81 untuk membuka antara muka web Pengurus Proksi Nginx. Apabila mengakses buat kali pertama, anda perlu menetapkan nama pengguna dan kata laluan pentadbir.

  1. Mengkonfigurasi Penemuan Perkhidmatan
    Dalam antara muka web Pengurus Proksi Nginx, anda boleh mengkonfigurasi penemuan perkhidmatan dengan menambahkan "Upstreams". Setiap Hulu mewakili perkhidmatan, yang mengandungi berbilang kejadian (nod). Dalam setiap Upstream, anda boleh menentukan alamat IP dan nombor port bagi contoh tersebut.

Berikut ialah contoh konfigurasi Hulu:

Name: my_service
Servers:
- Name: server1
  Address: 192.168.0.1:8000
- Name: server2
  Address: 192.168.0.2:8000
Salin selepas log masuk

Dalam konfigurasi ini, kami mencipta Upstream bernama my_service, yang mengandungi dua kejadian, Ia adalah 192.168.0.1 :8000 dan 192.168.0.2:8000 masing-masing.

  1. Mengkonfigurasi penghalaan
    Dalam antara muka web Pengurus Proksi Nginx, penghalaan boleh dikonfigurasikan dengan menambahkan "Hos Proksi". Setiap Hos Proksi mewakili peraturan penghalaan, yang mentakrifkan sumber dan destinasi permintaan.

Berikut ialah contoh konfigurasi Hos Proksi:

Domain Name: mydomain.com
Path: /myroute
Upstream: my_service
Salin selepas log masuk

Dalam konfigurasi ini, kami mencipta konfigurasi yang memajukan semua permintaan daripada mydomain.com/myroute Peraturan penghalaan ke my_service Hulu.

  1. Menggunakan kod sampel
    Untuk menunjukkan penggunaan Pengurus Proksi Nginx, berikut ialah kod contoh Node.js mudah untuk memulakan pelayan HTTP dan menyediakannya sebagai perkhidmatan. instance of didaftarkan kepada Pengurus Proksi Nginx:
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello, world!');
});

app.listen(8000, () => {
  console.log('Server is running on http://localhost:8000');
  // TODO: Register the server with Nginx Proxy Manager
});
Salin selepas log masuk

Dalam kod sampel ini, kami memulakan pelayan HTTP mendengar pada port 8000. Untuk mendaftarkan perkhidmatan ini dengan Pengurus Proksi Nginx, anda perlu menambah kod pendaftaran yang sepadan dalam fungsi panggil balik yang memulakan pelayan.

Anda boleh menggunakan API yang disediakan oleh Pengurus Proksi Nginx untuk mendaftar dan membatalkan pendaftaran contoh perkhidmatan. Berikut ialah contoh kod untuk mendaftarkan contoh perkhidmatan kepada Pengurus Proksi Nginx:

const axios = require('axios');

const registerInstance = async (name, address) => {
  try {
    await axios.post('http://localhost:81/api/proxy/host', {
      name,
      target: address,
    });
    console.log(`Instance ${name} registered successfully`);
  } catch (error) {
    console.error(`Failed to register instance ${name}`, error);
  }
};

// Register the server instance with Nginx Proxy Manager
registerInstance('server1', 'http://192.168.0.1:8000');
Salin selepas log masuk

Dalam kod sampel ini, kami menggunakan perpustakaan axios untuk menghantar permintaan HTTP. Daftarkan contoh perkhidmatan dengan memanggil fungsi registerInstance, menghantar nama dan alamat contoh kepada API Pengurus Proksi Nginx. Anda perlu memastikan bahawa alamat yang diminta oleh API adalah konsisten dengan alamat sebenar Pengurus Proksi Nginx.

Dengan menjalankan kod sampel ini pada berbilang pelayan, anda boleh mendaftarkannya sebagai contoh perkhidmatan dan menggunakan Pengurus Proksi Nginx untuk melaksanakan penemuan perkhidmatan dan penghalaan.

Ringkasan:
Dengan menggunakan Pengurus Proksi Nginx untuk membina penemuan perkhidmatan dan fungsi penghalaan sistem teragih, konfigurasi dan pengurusan sistem dapat dipermudahkan dan kebolehpercayaan dan skalabiliti sistem dapat diperbaiki. Artikel ini memperkenalkan kaedah pemasangan dan konfigurasi Pengurus Proksi Nginx, dan menyediakan contoh kod khusus untuk menunjukkan cara mendaftar contoh perkhidmatan dan mengkonfigurasi peraturan penghalaan. Pembaca boleh melaraskan dan melanjutkan contoh kod ini untuk memenuhi keperluan sistem edaran mereka sendiri.

Atas ialah kandungan terperinci Membina sistem teragih: menggunakan Pengurus Proksi Nginx untuk melaksanakan penemuan perkhidmatan dan penghalaan. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
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)

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 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 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 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.

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 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 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.

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.

See all articles