Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Nginx für URLRewriting & Loadbalancing vor Zope

Nginx für URLRewriting & Loadbalancing vor Zope

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.

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;
proxy_read_timeout 360;
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
proxy_read_timeout 360;
  • der default wert von 60 sekunden ist für manche Zope aktionen zu kurz

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.