Symfony2 och Nginx

logo_symfony

Jag har börjat testa experimentera med andra webbserverar än Apache. Jag har hört mycket gott om Nginx så jag tänkte att jag skulle prova. Jag läste mycket på bland annat nginx.org och diverse andra forum och bloggar för att lära mig grunderna och hur jag skulle konfigurera webbserver. Det skiljer sig något från Apache, speciellt med redirects. Men jag lyckades till slut sätta upp en webbplats med Symfony2 som är korrekt konfigurerad. Eftersom jag lade ner massor av timmar på att lösa problemet så vill jag gärna dela med mig av lösningen.

Här är min konfiguration för att köra Symfony:


server {
root /var/www/mydomain.com/web;
server_name mydomain.com *.mydomain.com;

rewrite ^/app\.php/?(.*?)$ /$1 permanent last;

location @rewriteapp{
rewrite ^(.*)$ /app.php/$1 last;
}

location / {
index app.php;
try_files $uri @rewriteapp;
}

location ~ ^/(app|app_dev)\.php(/|$) {
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_pass php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass php;

}

}

Självklart bör du också inkludera vanliga direktiv likt dessa:


#common stuff
location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}

# deny access to hidden files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}


Relaterat:

  1. WordPress, Symfony2 och Nginx
Skrivet augusti 25th, 2012 av
  • Pingback: Symfony2 och Nginx | Liveflödet

  • Pingback: Symfony2 och Nginx | Feedpublisher

  • Pingback: Ordstrid » Symfony2 och Nginx

  • Pingback: Symfony2 och Nginx | Budbäraren

  • http://www.hypernode.se Andreas Ek

    Mmm, min erfarenhet av nginx är att den är bra på enklare typer av sidor men inte för sidor som serverar applikationer. Då menar jag sök, admin, köp och transaktioner av olika slag. Nginx gott för enklare bloggsidor men inte applikationer!

  • http://www.tnyholm.se/ Tobias Nyholm

    Okej. Jag är ny till Nginx så jag undrar vad du grundar det på?

    Nginx kör ju ocksÃ¥ PHP minst lika snabbt och stabilt som Apache. Själva webbservern är snabbare men priset man betalar är flexibilitet. Jag läste nÃ¥gon som skrev att ”om Apache är som Microsoft Word dÃ¥ är Nginx som Notepad. BÃ¥da kan skriva en text men Word har 1000 inställningar som du aldrig använder”

  • http://vvv.tobiassjosten.net/ Tobias Sjösten

    Det stämmer inte. Både WordPress.com och Netflix använder sig av Nginx, just för dess överlägsna prestanda. Jag tror inte att någon ifrågasätter på komplexiteten i deras system. :)

    Apache är visserligen ett monster vad gäller funktionalitet och du kan verkligen konfigurera den till att göra det mesta i en HTTP-baserad infrastruktur. Det är dock väldigt sällan majoriteten av dess möjligheter används och i många av de fallen skulle en renodlad reverse proxy, som t.ex. Varnish, göra sig bättre.

  • http://www.flowcom.se/ Andreas Ek

    Självklart finns det de som älskar nginx och bara vill köra det. Som jag skriver är det min lilla erfarenhet kring det som spökar. Det finns en gräns för hur mycket pill och trix som behövs för att göra så enkla saker som att konfigurera en webbserver med php.
    Och då faller nginx på att det ofta inte rekommenderas till applikationer. Vad baserar jag det på då? Artiklar, tweets och diskussioner.
    Men vem vet? En annan dag kanske jag kommer på bättre tankar. Just nu är det inget jag rekommenderar.

  • http://www.tnyholm.se/ Tobias Nyholm

    mm okej. Jag är nog mer beredd att hålla med Tobias Sjöstens kommentar. Men smaken är som baken.

    Det vore intressant att se en jämförelse i prestanda mellan webbservrarna på olika applikationer. Jag vill inte lova något men får jag tid över så ska jag se till att ta tag i den biten.