Personal tools
You are here: Home Dokumentationen Zope/Plone Hilfe Tutorials Caching für Zope/Plone Portale Nginx für URLRewriting und Loadbalancing
Document Actions

Nginx für URLRewriting und Loadbalancing

Der schlanke Webserver Nginx dient uns zum Umschreiben der URL's auf die Zope Struktur und für eine einfache Lastverteilung auf die Zopeclients im Backend.
Durch den Einsatz eines Cache Proxy Servers, kann die Auslieferung von Zope und Plone Seiten immens beschleunigt werden. Dieses Tutorial zeigt verschiedene Setups mit dem Webserver Nginx, dem Proxy Varnish mit und ohne installiertem CacheFu.
Page 3 of 3.

Nginx installieren

aptitude install nginx

Nginx konfigurieren

Allgemeine Einstellungen

Nach der Installation passen wir zunächst die Datei /etc/nginx/nginx.conf an:
# cat /etc/nginx/nginx.conf 

user www-data;
worker_processes 1;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
client_max_body_size 150m;
sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;

gzip on;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Hinzu gefügt wurde hier die folgende Angabe:
client_max_body_size 150m;
  • diese erhöht die Grenze für Dateiuploads auf 150MB
  • default: 1MB

Backends und load balancing

Wir erzeugen die Datei /etc/nginx/conf.d/backends.conf mit folgendem Inhalt:
# cat /etc/nginx/conf.d/backends.conf 

upstream zope_backend {
server zclient1.lan:8080;
server zclient2.lan:8080;
}
Hier wird ein Backend namens zope_backend definiert, welches die zwei Zopeclients zclient1.lan und zclient2.lan beinhaltet. Dieses Backend können wir nun im folgenden für das virtualHosting verwenden.

virtualHosting (URLRewriting)

Wir erzeugen die Datei /etc/nginx/sites-enabled/zope.confmit folgendem Inhalt:
# cat /etc/nginx/sites-enabled/zope.conf 

server {
listen 81;
server_name example.com www.example.com;
location / {
proxy_pass http://zope_backend/VirtualHostBase/http/example.com:80/hosts/example.com/VirtualHostRoot/;
}
}

Wir sehen hier einen virtualHost Eintrag für die Domain example.com. Das vorher definierte zope_backend wird hier in der proxy_pass Anweisung verwendet. Die Anfrage wird hier per proxy_pass Anweisung an einen der Zopeclients durch gereicht. Hier befindet sich die Website examle.com in dem Ordner /hosts. Es können in der zope.conf beliebig weitere virtualHost Einträge vorgenommen werden.