Andreas Bergman

Icon

Optimering med CDN (Content Delivery Network)

När man optimerar sidor jobbar man i många fall med att separera statiskt innehåll som bilder, javscript och css från dynamiska filer som .php. Eftersom de olika filtyperna har olika sätt att hanteras och olika uppdaterings/åldrigstid så väljer man ofta att leverera de olika filtyperna med olika webbservrar med olika cacheinställningar.

I många fall är det helt värdelöst att ha en dubbel uppsättning webbservrar att hålla koll på utan man väljer att lägga sina statiskafiler hos någon som kan leverera dem åt dig, ett så kallt Content Delivery Network(CDN).  Exempel på sådana är Amazon S3 och även flickr.

Ibland vill man själv ha koll på sitt innehåll och då kan det vara en idé att bygga ett eget CDN, hur man uppnår det på bästa sätt kan diskuteras men det alldra enklaste är helt enkelt att lägga dina filer på en annan server och länka in dem i dina dynamiska sidor.  För att sedan få lite kräm och hastighet på filerna bör du välja en webbserver som ärbra på statiska filer, tex nginx. Vill spara ännu mer kraft kan man även lägga en cache framför, som Varnish.

De stora CMS:erna WordPress och Drupal stöjder båda distribution av filerna till ett CDN, med häjlp av W3 Total Cache-modulen till WordPress kan du även lägga alla dina nyuppladdade filer på CDN:et mha FTP, helt sömlöst utan att dina användare och besökare märker det.

Inomkort kommer det en praktisk guide här på www.abergman.se på hur man bygger ett eget CDN, eller ett PCDN, Private CDN.

Nginx rewrite för drupal

Har du en drupalsite som du vill köra på Nginx så måste du skriva om rewrite reglerna för siten, precis som för WordPress( som du kan läsa om här: Nginx rewrite för wordpress ).

Precis som för wordpress ska du lägga till rewriteregler i location för roten för siten, det bör se ut såhär:

if (!-e $request_filename) {
    rewrite ^/(.*)$ /index.php?q=$1 last;
}

Eventuellt kan du behöva lägga till “break;” innan slutklammern för rewrite regeln.

 

Migrera kod till drupalmoduler

I arbetet med att Drupal 6 anpassa www.linuxportalen.se så har jag nu på morgonen påbörjat att migrera en annan utvecklares (Marcus Follrud) kod till drupalmoduler, tackvare att Marcus kod är välskriven från start så är det inga problem för mig att lyfta in den i drupals ramverk och anpassa den för att köras som en modul i Linuxportalens system. Jag har på bara några timmar flyttat hela användargränssnittet till modulen och det som återstår är att anpassa databasanropen och lyfta in administrationsdelen i modulen så ska det vara klart sedan. Tack vare Drupals inbyggda rättighetshantering så var det väldigt mycket enklare att säkra upp så att ingen obehörig kan komma åt den information som modulen används för.

Modulen används för att visa en bild som tecknas exklusivt för Linuxportalen.se och för att inte obehöriga ska kunna se eller direktlänka till bilden(och på så sätt ta bandbredd från www.linuxportalen.se) så finns det ett antal säkerhetsspärrar. Utöver de som Marcus byggde så har jag kompletterat med Drupals egna rättighetssystem, så nu är det omöjligt att se bilden om man inte är medlem på www.linuxportalen.se eller ber tecknaren Kim Johansson (http://www.linuxportalen.se/veckans-kadavro/picture/?latest) om tillstånd. Bilderna är licensierade under: http://creativecommons.org/licenses/by-nc-nd/2.5/se/ 

Har du egen kod som du vill porta över till Drupal? Vill du migrera hela din hemsida till ett av världens mest använda Content Management System?
Hör av dig så tar vi ett förutsättningslöst samtal kring det hela!

Den här bloggen

skriver jag, Andreas Bergman, vilket i sig inte bör vara så förvånande. Jag driver en SMS tjänst och jobbar som tekniker/allt i allo på SEA där jag bland annat driftar en stor bloggportal och ett webbhotell. Vi håller även på att bygga ett datacenter.


Jag har några microsoft titlar, ett gäng DELL certifikat och jobbar dagligen med hårt belastade webbservrar. Utöver det jobbar jag också med virtualisering och server/storage. Någon gång ibland säljer jag även server och storagelösningar.

Maila mig gärna om något av ovan, eller annat, jag är ganska trevlig sägs det. andreas@abergman.se.