Heim >Backend-Entwicklung >PHP-Tutorial >Verwendung von Nginx für den Lastausgleich von NodeJS-Anwendungen

Verwendung von Nginx für den Lastausgleich von NodeJS-Anwendungen

WBOY
WBOYOriginal
2016-08-08 09:30:31892Durchsuche

"Nginx für den Lastausgleich von NodeJS-Anwendungen verwenden"

Autor: chszs, bitte beim Nachdruck angeben. Blog-Homepage: http://blog.csdn.net/chszs

Der Lastausgleich kann Benutzeranfragen mehreren Servern zur Verarbeitung zuweisen und so den Zugriff auf eine große Anzahl von Benutzern unterstützen. Die Lastausgleichsarchitektur ist in der Abbildung dargestellt:


Für komplexe Webanwendungen ist die Verwendung von Nginx für den Front-End-Lastausgleich eine Selbstverständlichkeit.

Als nächstes verwenden wir Nginx, um den Lastausgleich für NodeJS-Anwendungen durchzuführen.

1. Nginx konfigurieren

Nginx.conf ändern:

....
        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;
           }
        }
Es gibt einen Node.js-Server auf Port 3000 und Port 3001. Diese beiden Server machen den gleichen Job. Im Upstream-Bereich werden zwei Node.js-Server konfiguriert. Darüber hinaus legen wir auch Proxy_Pass http://sample als HTTP-Anfrage-Proxy fest.

2. NodeJS-Server erstellen

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. Auf den Nginx-Server zugreifen

Jetzt können wir auf http://127.0.0.1 zugreifen

Sie können die folgende Ausgabe sehen:

  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 

Das Obige stellt die Verwendung von Nginx für den Lastausgleich von NodeJS-Anwendungen vor, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:WordPress Learning-Plugins-001Nächster Artikel:WordPress Learning-Plugins-001