Bagaimana untuk mengkonfigurasi Nginx untuk pengimbangan beban aplikasi NodeJS

WBOY
Lepaskan: 2023-05-25 23:19:04
ke hadapan
1529 orang telah melayarinya

Pengimbangan beban boleh memperuntukkan permintaan pengguna kepada berbilang pelayan untuk diproses, dengan itu mencapai sokongan akses untuk sejumlah besar pengguna. Seni bina pengimbangan beban ditunjukkan dalam rajah:

Bagaimana untuk mengkonfigurasi Nginx untuk pengimbangan beban aplikasi NodeJS

Untuk aplikasi web yang kompleks, menggunakan nginx untuk pengimbangan beban bahagian hadapan adalah perkara biasa.
Seterusnya, kami menggunakan nginx untuk mengimbangi beban aplikasi nodejs.
1. Konfigurasikan nginx
Ubah suai nginx.conf:

upstream sample { 
     server 127.0.0.1:3000; 
     server 127.0.0.1:3001; 
     keepalive 64; 
    } 
     server { 
      listen 80; 
      .... 
      server_name 127.0.0.1; 
      .... 
      location / { 
        proxy_redirect off; 
        proxy_set_header x-real-ip $remote_addr; 
        proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
        proxy_set_header x-forwarded-proto $scheme; 
        proxy_set_header host $http_host; 
        proxy_set_header x-nginx-proxy true; 
        proxy_set_header connection ""; 
        proxy_http_version 1.1; 
        proxy_pass http://sample; 
      } 
    }
Salin selepas log masuk

Terdapat pelayan node.js pada port 3000 dan port 3001. Kedua-dua pelayan ini melakukan perkara yang sama kerja. Dalam bahagian huluan, dua pelayan node.js dikonfigurasikan. Selain itu, kami juga menetapkan proxy_pass sebagai proksi permintaan http.

2. Bina pelayan nodejs

var http = require('http'); 
var morgan    = require('morgan'); 
 
var server1 = http.createserver(function (req, res) { 
 console.log("request for: " + req.url + "-- port 3000 "); 
 res.writehead(200, {'content-type': 'text/plain'}); 
 res.end('hello node.js\n'); 
}).listen(3000, "127.0.0.1"); 
 
var server2 = http.createserver(function (req, res) { 
 console.log("request for: " + req.url + "-- port 3001 "); 
 res.writehead(200, {'content-type': 'text/plain'}); 
 res.end('hello node.js\n'); 
}).listen(3001, "127.0.0.1"); 
 
server1.once('listening', function() { 
 console.log('server running at http://127.0.0.1:3000/'); 
}); 
 
server2.once('listening', function() { 
 console.log('server running at http://127.0.0.1:3001/'); 
});
Salin selepas log masuk

3 Akses pelayan nginx

Kini kami boleh mengakses
dan anda. boleh lihat ke output berikut:

server running at http://127.0.0.1:3000/ 
server running at http://127.0.0.1:3001/ 
request for: /-- port 3001  
request for: /favicon.ico-- port 3000  
request for: /favicon.ico-- port 3001  
request for: /-- port 3000  
request for: /favicon.ico-- port 3001  
request for: /favicon.ico-- port 3000  
request for: /-- port 3001  
request for: /favicon.ico-- port 3000  
request for: /favicon.ico-- port 3001  
request for: /-- port 3000  
request for: /favicon.ico-- port 3001  
request for: /favicon.ico-- port 3000
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi Nginx untuk pengimbangan beban aplikasi NodeJS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan