6

Symfony2: nginx Konfiguration

symfony_black_03Seit heute Nachmittag kann man den ersten Release Candidate des Symfony2 Frameworks testen. Die API sollte ab jetzt keinen allzu großen Änderungen mehr unterworfen sein, so dass man langsam anfangen kann, die ersten Applikationen damit zu entwickeln (ohne nach jedem Update Angst haben zu müssen das nichts mehr funktioniert :-)).

Da ich ein Freund von eher schlanken Systemen bin, nutze ich als Webserver nginx. Da dieser keine .htaccess Dateien verarbeitet, ist ein wenig Konfigurationsaufwand nötig, um alle Funktionen von Symfony2 optimal nutzen zu können.

Im Folgenden meine Konfiguration von nginx. Diese teilt sich in zwei Dateien auf. Die erste enthält Konfigurationsanweisungen, die für alle vHosts  gleich sind. Die zweite ist vHost spezifisch.

default-symfony2 (/etc/nginx/default-symfony2)

domain.conf/etc/nginx/sites-enabled/domain.conf

Passt die Domains entsprechend an, und schon habt ihr eine lauffähige Symfony2 Konfiguration. Tauscht ihr app.php durch app_dev.php, landet ihr direkt im Entwicklermodus.

Comments 6

  1. Post
    Author

    Nein, den kenn ich noch nicht. Die Screenshots und die Seite sehen aber schon recht interessant aus. Werd ich mir definitiv mal ansehen.

    Danke für den Tipp. 🙂

  2. Ich habe es jetzt seit einem Jahr im Intensivtest als Ablöse von Lighttpd und immer mal wieder Wechsel mit nginx, aber ich will nichts anderes mehr als Cherokee. Erstens lässt es sich sehr einfach konfigurieren (Ja, Klicki-bunti) und zweitens ist es super schnell und für mich das wichtigste Kriterium, am Anfang hab ich so ca. 20 Bugs gefiled, die alle innerhalb von ein paar Stunden bis wenigen Tagen gefixt waren. Konfiguration ist aktuell:

    Cherokee Web Server 1.2.98 (als chroot)
    PHP 5.3.6-6 (fpm-fcgi)
    APC Version 3.1.9
    Suhosin v0.9.32.1
    MariaDB 5.2.6

    Mit nem selbst programmiertem Caching kriege ich die WordPressindex (komplett gefüllt mit Democontent) auf ~3000 Requests/sec auf i5 @ 2.67GHz und 6 GB Ram

  3. Post
    Author

    Das hört sich ähnlich an wie meine Server Konfiguration, nur das ich XCache und nginx verwende. Hast du den Lasttest mal mit Lighttpd oder nginx gemacht? Damit man mal Vergleichswerte hat.

    Wie sieht es denn mit Rewrite Rules aus, lassen die sich auch über die Oberfläche steuern?

  4. Ich habe keinen Vergleich mit lighttpd, dort hatte ich nämlich das Problem, dass es sporadisch zu memleaks kam, die vor allem im High Performance Bereich üble Folgen haben können. Deshalb ich überhaupt erst nach Alternativen gesucht. Im Vergleich zu nginx ist Cherokee minimal schneller, aber wirklich minimal. Mit der Standard „Hello World“ Applikation von Yii war der Unterschied bei ~5% zugunsten von Cherokee, bei statischen Dateien etwas mehr (~10%). Allerdings müsste man das noch einmal wiederholen, weil das war noch vor Version 1.0 und so Sachen wie der reverse proxy waren da noch gar nicht drin. Damals hat ich auch die miese Doku von nginx genervt, ich weiß nicht, ob das mittlerweile besser ist.

    Die Rewrite Handles bzw. alle Regeln lassen sich über das Admin bearbeiten. Das ist eine Seite für Yii eingerichtet. Bei Symfony dürfte das ähnlich aussehen.
    http://twitpic.com/5hs61o

  5. Post
    Author

    Klingt sehr interessant, ich hoffe ich komme die nächsten Tage dazu es zu testen.

    Dann gibt es demnächst Rewrite Rules für Cherokee 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.