Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk mengkonfigurasi Nginx untuk pengimbangan beban aplikasi NodeJS
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:
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; } }
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/'); });
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
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!