Jetzt mal in echt

Html-Seiten mit dem Editor erstellen und in den Browser laden ist schön einfach. Alles ist schnell getestet und so lassen sich auch Skripte für die Seite zügig entwickeln. Werden die Seiten in einer Datenbank gespeichert, wie unsere Todo-Liste in CouchDB, dann ist das schon etwas spannender. Vielleicht möchte man nicht sein komplettes Seiten-Projekt mit CouchDB realisieren und vermutlich benutzt niemand CouchDB direkt als Webserver. Um also einmal ein komplettes System am Laufen zu haben, fehlt noch ein Server. Zum Test lässt sich das trotzdem ohne Schwierigkeiten auf dem lokalen Rechner realisieren.
Als Webserver habe ich nginx gewählt. In der Konfiguration über die Datei nginx.conf lässt sich CouchDB auch in einem Unterverzeichnis ansprechen.

# proxy CouchDB
location /db {

rewrite /db/(.*) /$1 break;
proxy_pass http://127.0.0.1:5984;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

Diese Methode findet sich mehrfach im Netz beschrieben, macht aber ein paar kleine Problemchen. Beispielsweise will Fauxton per Aufruf über den Webserver in diesem Fall nicht richtig arbeiten. Unsere Todo-Liste bringt man mit etwas zusätzlicher Handarbeit in Gang. Die Zeile

var DATABASE = "/" + window.location.href.split("/")[3];

liefert in diesem Fall ein falsches Ergebnis. Um den Pfad immer richtig zu ermitteln, habe ich nur folgende Funktion geschrieben:

rudi.tools.js

Nun kann die Todo-Liste aufgerufen werden, wie folgt:

http://127.0.0.1/db/example/todo/index.html

Wir das Stammverzeichnis des lokalen Rechners aufgerufen, dann sieht man die statische Startseite unseres nginx-Servers.

Schreibe einen Kommentar