2016-05-24 13 views
1

Ich habe eine Website mit hoher Auslastung, mein System hat zu Spitzenzeiten keinen Speicher mehr. Ich möchte die Last teilen, damit die Leseoperationen, die sich auf bestimmten URls befinden, auf einen anderen Server verschoben werden.Reverse Proxy spezifische Anfrage

Ich verwende nginx und php-fpm, wie leite ich bestimmte URLs um, die von PHP-fpm auf einem anderen Server verarbeitet werden sollen?

Dies ist der Blue Print meiner Anforderungen.

location /feed/generate { 
    use php-fpm on a different server 
} 

location/{ #all other requests 
use existing php-fpm 
} 

Antwort

0

Setup-php-fpm auf dem zweiten Server auf einer von außen zugänglichen IP (nicht 127.0.0.1) Port 9000. Die IP-Adresse hören sollte privat (mit dem Internet nicht geroutet) und/oder nur konfigurierte Erlaube Verbindungen von vertrauenswürdigen Hosts (Firewall).

upstream feed_php_fpm { 
    server <other server ip>:9000; 
} 

upstream local_fpm { 
    server 127.0.0.1:9000; 
} 

location /feed/generate { 
    fastcgi_pass feed_php_fpm; 
    include fastcgi.conf; 
} 

location/{ 
    fastcgi_pass local_fpm; 
    include fastcgi.conf; 
} 

Bitte haben Sie Verständnis, was Sie tun und die Auswirkungen von php-fpm Hören auf einem Netzwerk-Port vs Datei-Buchse.