Så kommer du igång med Nginx + PHP-FPM

Nginx är en supersnabb webbserver/proxy skriven av ryssen Igor Sysoev och används av exempelvis WordPress.com och Loopias höghastighetstjänst Autobahn. I dagsläget så använder ca 8% av världens webbservar just Nginx som webbserver eller front-end proxy.

Nginx är även mitt självklara val vid installation av nya servrar, men dock är installationen inte helt enkel eftersom det inte finns inbyggt PHP-stöd vilket är det primära programmeringsspråk jag använder vid webbutveckling. Nginx är således beroende av exempelvis PHP-FPM (FastCGI Process Manager for PHP).

Installation

Först och främst så ska vi lägga till dotdeb i vår sources.list genom följande kommando:

$ sudo sh -c ’echo ”deb http://php53.dotdeb.org stable all” >> /etc/apt/sources.list’

Lägg sedan till rätt nycklar:

$ gpg –keyserver keys.gnupg.net –recv-key 89DF5277

$ gpg -a –export 89DF5277 | sudo apt-key add –

Nu kan vi synkronisera paketlistorna:

$ sudo apt-get update

Sen måste vi lägga till några paketberoenden:

$ wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb

$ wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb

$ sudo dpkg -i *.deb

Och sist men inte minst så installerar vi paketen via apt:

$ sudo apt-get install php5-fpm php5-cgi nginx

Sen måste nginx konfigureras och lättast är att utgå från den standard-konfiguration som medföljer och återfinns i filen /etc/nginx/sites-available/default. Om du vill se hur min konfigg-fil ser ut kan du utgå från denna.

Starta sedan om php-fpm samt nginx om de inte redan startas:

$ sudo sh /etc/init.d/nginx restart

$ sudo sh /etc/init.d/php5-fpm restart

Om php5-fpm klagar om pm.min_spare_servers eller liknande så måste du eventuellt ta bort en kommentering i filen /etc/php5/fpm/php5-fpm.conf

Thats’s it! Återkommer om jag hittar något lättare sätt att komma igång med nginx och php-fpm.

4 reaktioner på ”Så kommer du igång med Nginx + PHP-FPM

  1. Välskrivet!
    Använder du standard konfigurationen för php5-fpm eller gör du själva några ändringar?

  2. @mptre: Mer eller mindre standard. Tror jag brukar göra en eller två ändringar. Exempelvis så brukar jag logga långsamma script

  3. Jag har även börjat använda Nginx mer och mer nu och är väldigt nöjd.

    PHP-FPM ska vara integrerat i PHP core från och med 5.3.3 har jag läst någonstans. Om det är aktiverat eller inte vet jag ej?

    Är lite nyfiken hur du strukturerar dina PHP projekt? Använder du dig av MVC ramverk? OOP struktur? etc.. Alltid intressant och se hur andra gör :)

  4. @Tobias: Nej, jag använder inga ramverk. Har ett få antal funktioner som dock är gemensamma mellan mina projekt

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *