


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
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.
- 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. - 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
Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan Pengurus Proksi Nginx:
npm start
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.
- 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
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.
- 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
Dalam konfigurasi ini, kami mencipta konfigurasi yang memajukan semua permintaan daripada mydomain.com/myroute Peraturan penghalaan ke my_service Hulu.
- 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 });
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');
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!

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



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

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

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.

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

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.

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.
