Tag Archives: php

Howto: nginx, php-fpm and serendipity weblog (s9y) with apache style rewriting

Nginx is (spoken: engine x) is a HTTP and reverse proxy server written by the russian developer Igor Sysoev. Nginx is also able to proxy mail server requests coming in via pop3 and imap.
Popular sites like FastMail.FM and WordPress.com are usually using nginx as reverse proxy or HTTP Server.
According to Netcrafts Web Server Survey from December 2009 nginx gained 5,2% market share since December 2008 and will exceed the 7% barrier in january 2010. In addition to that 12,9 million websites started using nginx as webserver or loadbalancer as first contact instance in the year 2010. Nginx now clearly exceeds the former lightwight webserver king lighttpd (market share round 0.36% in December 2009).

In a first example we use nginx is together with the FastCGI Process Manager php-fpm in order to run a serendipity weblog.
PHP-fpm will be included in future versions of PHP 5.3 but isn’t shipped with stable PHP 5.2 and therefore we have to built php and php-fpm the traditional way.

Continue reading

Related Posts:

Aktuelle Projekte

diginights.com

Diginights.com ist das größte Event- und Nightlifeportal in Heilbronn und Umgebung, welches seit geraumer Zeit auch überregional tätig ist. So gibts neben der Region Heilbronn mittlerweile auch Bereiche für Stuttgart, Ludwigsburg, Mosbach, den Hohenlohekreis, Mannheim und Heidelberg.
Diginights begann für mich im Jahre 2003 als Freizeitprojekt und ist mittlerweile erwachsen geworden. Seitdem unterstütze ich bei der Administration, Planung und Weiterentwicklung des facettenreichen Online Portals. Ein paar Statistiken zum Thema Visits, Bilder & co. finden sich auf dieser Seite.
Diginights.com läuft im Rechenzentrum von Hetzner Online und basiert auf dem PHP Framework Symfony und dem Forensystem Burning Board 3 von Woltlab. Außerdem setzen wir auf den AdServer OpenX, das SCM & Project Management Tool Trac und das Versionskontrollsystem Subversion.

glamour-village.de

Glamour-Village.de ist eine Online Shoppingplattform mit dem Focus auf Markenartikeln aus den Bereichen Mode, Schmuck und Accessoires. Die waren werden zum Teil zu Preisen mit 70-80% unter Marktpreis angeboten. Man kann also das eine oder andere Schnäppchen ergattern!
Bei Glamour-Village.de kümmere ich mich ebenfalls um die Administration und unterstütze ein wenig bei Kommunikationsthemen. Ist ein spannendes Thema und man sieht, dass gesundes Wachstum auch ohne Venture Capital Finanzierung möglich ist.
Glamour-Village.de läuft ebenfalls auf Servern bei Hetzner Online unter Verwendung des PHP Frameworks Symfony , des Loadbalancers HAProxy und des russischen Webservers NGINX.

Related Posts:

Neues Projekt: Shopping Community glamour-village.de

Jugendfreunde von mir haben zusammen mit Hautzi eine neue Shopping Community gestartet. Seit 3 Wochen ist glamour-village.de nun online und ich unterstütze die Jungs ein wenig bei der Kommunikation und bei der Administration der Server.
Glamour-Village ist eine Shopping Community, bei der angemeldete Mitglieder in wöchentlich wechselnden Aktionen Top-Marken bis zu 70% unter Marktpreis ergattern können. Dabei liegt der Focus auf Mode, Schmuck und Accessoires.

Die Software ist eine Eigenentwicklung (PHP5, Symfony Framework) welche unter dem russischen Webserver nginx [engine x] im Verbund mit HAProxy im RZ von Hetzner Online läuft.

Wer sich das Ganze mal anschauen möchte, kann sich ganz einfach hier anmelden.

Related Posts:

Gallery: Allowed memory size of Xxx bytes exhausted?

Immer wieder hab ich Visits von google, die mit der Fehlermeldung “Allowed memory size of Xxx bytes exhausted” beginnen.
Dieser Fehler stammt von der alten Gallery Version V1, die ich hier ebenfalls verwende.
Dabei kommt es zu einem Fehler, wenn beispielsweise der RSS Feed der aktuellsten Alben aufgerufen wird, dem Skript geht der Speicher aus und es verabschiedet sich mit obiger Fehlermeldung. Das Problem ist dann einfach, dass Gallery zuviele Bilder zu verwalten hat ;)

Da Gallery V1 nicht mehr weiter entwickelt, sondern nur noch mit Sicherheits Patchen versehen wird, empfiehlt sich ein Update auf Gallery Version 2.
Wer für dies keine Zeit hat, kann das Memory Limit für den Gallery VHost erhöhen, damit das Skript erstmal wieder funktioniert. Ist zwar nicht wirklich schön, aber es funktioniert erstmal (Erstellung einer .htaccess Datei mit Eintrag von “php_value memory_limit xxxM“, wobei xxx für die zugewiesene Speichermenge steht).

English visitors: please take a look at this.

Related Posts:

PHP Bytecode Cacher im Vergleich

PHP Beschleuniger beschleunigen PHP Anwendungen dadurch, dass sie die kompilierten PHP Skrite direkt im Shared Memory (RAM) ablegen und von dort aus aufrufen. Somit müssen die Skripte nicht mehr zur Laufzeit generiert werden. Das nimmt der CPU enorm viel arbeitet ab und beschleunigt manche PHP Anwendungen um den Faktor 5. Die freigewordene CPU Zeit kann wiederum an anderer Stelle gewinnbringend eingesetzt werden, so dass der eigentlich Perfomancezuwachs noch höher ist.

Zend-Gründer Zeev Suraski: “…Ein OpCode-Cache kann ein sehr wesentlicher Teil des ganzen Setups sein. Manchmal braucht man zwei zusätzliche Server, wenn man keinen OpCode-Cache verwendet…”

Da wir in den letzten Monaten öfters Probleme mit eAccelerator in Verbindung mit neuen PHP Versionen oder dem PHP Framework Symfony hatten, habe ich mir mal einen kleinen Überblick über die bekanntesten PHP Beschleuniger verpasst:
Zum einen gibts da die hauseigene Zend Platform, die bei kommerziellem Einsatz natürlich lizensiert werden muss. Der oben erwähnte eAccelerator ist die Fortsetzung des Turck MMCache. XCache entstand unter der Regie von lighttpd Entwickler mOo, der zwar ursprünglich versuchte, Erweiterungen und Fehler bei eAccelerator einzukippen – dort aber wohl auf taube Ohren stieß. So startete er seinen eigenen PHP Beschleuniger XCache.
Außerdem gibts noch den IonCube Encoder und das PECL Package Alternative PHP Cache (APC). Der IonCube Encoder ist allerdings kein wirklicher Beschleuniger, er “verschlüsselt” den PHP Code nur und so wird die Ausführung des Codes eher verlangsamt als beschleunigt. APC hingegen wird in PHP6 integriert werden, da dieser Cacher als einziges Produkt am Markt mit einem für das PHP Dev Team verträglichen Lizenzmodell kommt. APC ist schon ein wenig älter, wurde allerdings nicht in PHP5 eingebaut, da es mit der damaligen Version unter Hochlast zu Systemabstürzen führte. In PHP6 wird APC zwar mit dabei sein, ist aber per default deaktiviert.

Eine Zusammenfassung der Features, Unterschiede und Lizenzen findet ihr auf dieser Seite. Die oben aufgeführten PHP Beschleuniger werden zusätzlich hinsichtlich Ausführungszeit von Standard Anwendungen geprüft (phpmyadmin, mediawiki,helloworld).

Mein nächster Kandidat heisst nun erstmal XCache!

Links:
Zend platform
Homepage des eAccelerator
XCache Homepage
IonCube Webseite
Homepage des Alternative PHP Cache (APC)
Interview mit Zend-Gründer Zeev Suraski auf Golem

Related Posts:

PHP Framework Symfony wird 2 Jahre alt

Das PHP Framework Symfony, welches wir auch bei diginights.com verwenden, ist heute genau 2 Jahre alt!

In den vergangenen 2 Jahren hat sich sehr viel getan: Das Symfony-Forum enthält mittlerweile über 37.500 Beiträge von über 3800 registrierten Benutzern. Im Wiki finden sich über 200 Plugins, mit deren Hilfe man das Framework einfach erweitern kann. Mit Askeet gibt es ein hervorragendes 24 Stunden Tutorial zu Symfony. Der Code enthält mittlerweile über 5550 Changesets und wurde mitterweile 2 mal komplett überarbeitet.
Der 1.1 Milestone steht auch vor der Tür und bringt unter anderem ein neues Plugin System und Event System mit sich!
Mehr Informationen zu 2 Jahren Symfony gibts im Geburtstagseintrag auf der Homepage.

In einem Vergleich in der iX hat das Framework im Vergleich mit CakePHP,ez Components und dem Zend Framework gut abgeschnitten, vor allem in der Erfüllung des MVC Ansatzes ist es allen anderen Frameworks überlegen.

Natürlich gibts mittlerweile auch populäre Seiten, die Symfony produktiv einsetzen. Yahoo verwendet Symfony bei seinem Bookmark Dienst, außerdem wird Symfony bei der nächsten Version von delicious eingesetzt. Der wer-weiss-was Konkurrent gute-frage.net verwendet ebenfalls das Symfony Framework auf deinen Plattformen.

Links:
Symfony-Project Homepage
ApplicationsDevelopedWithSymfony
iX Artikel über PHP Frameworks

Related Posts: