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.confHinzu gefügt wurde hier die folgende Angabe:
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/*;
}
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.confHier 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.
upstream zope_backend {
server zclient1.lan:8080;
server zclient2.lan:8080;
}
virtualHosting (URLRewriting)
Wir erzeugen die Datei /etc/nginx/sites-enabled/zope.confmit folgendem Inhalt:# cat /etc/nginx/sites-enabled/zope.confWir 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.
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/;
}
}