Maison >Opération et maintenance >Nginx >Comment configurer Nginx pour l'équilibrage de charge des applications NodeJS
L'équilibrage de charge peut allouer les demandes des utilisateurs à plusieurs serveurs pour traitement, permettant ainsi de prendre en charge l'accès à un grand nombre d'utilisateurs. L'architecture d'équilibrage de charge est illustrée dans la figure :
Pour les applications Web complexes, l'utilisation de nginx pour l'équilibrage de charge frontal est une évidence.
Ensuite, nous utilisons nginx pour l'équilibrage de charge des applications nodejs.
1. Configurez nginx
Modifiez 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; } }
Il y a un serveur node.js sur le port 3000 et le port 3001. Ces deux serveurs font le même travail. Dans la section amont, deux serveurs node.js sont configurés. De plus, nous définissons également proxy_pass comme proxy de requête http.
2. Construisez le serveur 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. Accédez au serveur nginx
Maintenant, nous pouvons accéder à
Vous pouvez voir le résultat suivant :
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!