


Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS
Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS
Pengenalan:
Dalam aplikasi web moden, pengimbangan beban adalah teknologi yang sangat kritikal. Ia boleh meningkatkan kebolehskalaan dan kebolehpercayaan aplikasi dengan menyebarkan trafik merentasi berbilang pelayan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS. Kami akan menerangkan setiap langkah secara terperinci dengan contoh kod tertentu.
Langkah 1: Pasang NGINX
Mula-mula, kita perlu memasang NGINX, iaitu pelayan web berprestasi tinggi dan pelayan proksi terbalik. Berikut ialah arahan khusus untuk memasang NGINX pada Ubuntu:
$ apt-get update $ apt-get install nginx
Langkah 2: Konfigurasikan NGINX
Setelah pemasangan selesai, kita perlu melakukan beberapa konfigurasi NGINX. Berikut ialah kandungan fail konfigurasi contoh:
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
Dalam contoh di atas, kami menyediakan kluster pelayan bernama backend, yang mengandungi dua pelayan backend backend1.example.com dan backend2.example.com. Kami kemudian akan mendengar pada port 80 dan proksi semua trafik ke kluster pelayan bahagian belakang.
Langkah 3: Pasang PM2
Seterusnya, kita perlu memasang pengurus proses PM2. PM2 boleh membantu kami melancarkan dan mengurus aplikasi Node.js pada pelayan. Berikut ialah arahan khusus untuk memasang PM2 pada Ubuntu:
$ npm install pm2 -g
Langkah Empat: Sebarkan aplikasi pada pelayan bahagian belakang
Sebelum kami meneruskan, kami perlu menggunakan aplikasi Node.js yang ringkas pada pelayan bahagian belakang. Berikut ialah contoh kod untuk aplikasi Express yang ringkas:
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, World!'); }); app.listen(3000, () => { console.log('App is running on port 3000'); });
Simpan kod di atas sebagai app.js dan jalankan arahan berikut pada pelayan bahagian belakang untuk memulakan aplikasi:
$ node app.js
Sekarang, aplikasi kami harus berfungsi melalui Lawati http:/ /backend1.example.com:3000 untuk mengaksesnya.
Langkah 5: Gunakan PM2 untuk memulakan aplikasi pada pelayan bahagian belakang
Untuk menggunakan PM2 untuk pengurusan proses, kita perlu memasukkan direktori di mana aplikasi terletak dan menggunakan arahan berikut untuk memulakan aplikasi:
$ pm2 start app.js
The arahan di atas menganggap aplikasi sebagai Daemon berjalan di latar belakang dan secara automatik mengendalikan perkara seperti permulaan semula aplikasi dan pengurusan log.
Langkah 6: Konfigurasikan Pengimbangan Beban dalam NGINX
Kini, kami telah mengkonfigurasi NGINX dan memulakan aplikasi Node.js pada pelayan bahagian belakang. Kita perlu mengubah suai fail konfigurasi NGINX untuk mencapai pengimbangan beban. Berikut ialah kandungan fail konfigurasi sampel yang diubah suai:
http { upstream backend { server backend1.example.com:3000; server backend2.example.com:3000; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Dalam fail konfigurasi di atas, kami menukar port pelayan hujung belakang daripada 80 kepada 3000 dan menambahkan arahan proxy_set_header untuk menghantar beberapa maklumat pengepala HTTP utama.
Langkah 7: Mulakan semula perkhidmatan NGINX dan PM2
Sebelum kami melakukan ujian pengimbangan beban, kami perlu memulakan semula perkhidmatan NGINX dan PM2 untuk perubahan berkuat kuasa. Berikut ialah arahan mulakan semula:
$ service nginx restart $ pm2 restart all
Langkah 8: Uji pengimbangan beban
Kini, kita boleh menggunakan pelayar web atau arahan curl untuk menguji sama ada pengimbangan beban berfungsi dengan betul. Kita seharusnya boleh mendapatkan respons "Hello, World!" dengan melawati http://yourdomain.com. Setiap kali kami memuat semula halaman, kami akan melihat nama pelayan yang berbeza untuk pelayan bahagian belakang, yang bermaksud pengimbangan beban sedang berkuat kuasa.
Kesimpulan:
Dengan menggunakan NGINX dan PM2, kami boleh mencapai pengimbangan beban dengan mudah pada pelayan VPS. Pengimbangan beban boleh meningkatkan kebolehskalaan dan kebolehpercayaan aplikasi untuk memberi perkhidmatan yang lebih baik kepada pengguna. Kami berharap contoh dan langkah kod khusus yang disediakan dalam artikel ini dapat membantu pembaca mengamalkan pengoptimuman pelayan dan pengimbangan beban dengan lebih baik.
Atas ialah kandungan terperinci Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS. 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



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.

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.

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.

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.

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.

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.

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.
