Php + mysql server met minder dan 30Mb Ram

Tegenwoordig zijn de budget vps-servers zeer populair, deze blog en mijn website draaien ook op een budget VPS ($3 / maand). Hiervoor krijg ik 80Mb RAM (128Mb burstable),  10Gb diskspace en 100Gb datatransfer. Deze VPS is gehuurd van ramhost.us.

Ik installeer deze server af en toe opnieuw om zo te proberen alles zo optimaal mogelijk te proberen laten werken, en nu heb ik echt wel hoe het moet, zonder mysql gebruikt mijn server 6Mb ram (dus als je toekomt met Sqlite, of zonder database is het zeker een aanrader om gewoon zo te installeren).

Ik gebruik hiervoor lighttpd (wordt uitgesproken als lighty) als een alternatief voor zwaargewicht apache, behalve dat je niet rechtstreeks met .htaccess kan werken, maar dat je rewrite rules in het configuratiebestand moet toevoegen, zijn er eigenlijk geen nadelen verbonden aan lighttpd. Voordeel is wel dat lighttpd weel minder werkgeheugen gebruikt (maar 1 tot 2 Mb).

De installatie van de server valt goed mee, je logt in via ssh of op een andere manier, en je voert volgende stappen uit:

apt-get install lighttpd php5-cgi

om de webserver lighttpd en php5 te installeren. Php wordt als cgi geinstalleerd, waardoor dit als een appart process zal worden uitgevoerd, en enkel actief zal zijn als er een php-pagina wordt ingeladen.

Om lighttpd te laten werken met php moet je nu nog net de volgende regel toevoegen aan /etc/lighttpd/lighttpd.conf

cgi.assign = (“.php” => “/usr/bin/php5-cgi”)

Je moet in datzelfde bestand ook helemaal vooraan het #-tekentje weghalen voor deze server module:  “mod_cgi”, of als mod_cgi niet in het lijstje staat dan moet je deze zelf even aanvullen.

Als je werkgeheugen genoeg hebt dan zou ik aanraden om fastcgi te gebruiken, deze heeft een cache in het werkgeheugen waardoor alles wat sneller kan laden, omdat we dit bij deze server niet hebben ga ik hier niet verder op in.

Nu komt het lastigste gedeelte; eerst moet je mysql installeren:

apt-get install mysql-server

Als de installatie lukt, zonder dat je een foutmelding krijgt, dan werkt mysql al, al gebruikt deze nu meer dan 100Mb werkgeheugen. De kans dat je een fout tijdens de installatie krijgt is echter ook zeer groot, geen paniek dan, dit is ZEER normaal. Om deze fout te verhelpen en om het geheugengebruik te verlagen (dit is dus ook van toepassing als de installatie is gelukt), moet je volgende stappen uitvoeren:
1. verplaats het huidige mysql configuratiebestand zodat we daar een nieuw bestand in de plaats kunnen zetten, in principe mag je het ook verwijderen, maar voor de veiligheid houd ik zulke bestanden graag nog even bij.

mv  /etc/mysql/my.cnf  /etc/mysql/my.cnf.oud

2. nu gaan we een nieuw configuratiebestand in de plaats zetten, ik ga dat hier niet publiceren want dat kan al wel eens een beetje verschillen van (mysql) versie tot versie, maar het juiste bestandje staat al op je server, je moet het alleen nog maar op de juiste plaats zetten.

mv   /usr/share/doc/mysql-server-5.0/examples/my-small.cnf   /etc/mysql/my.cnf

Dit gaat al iets doen, maar het geheugengebruik gaat nog altijd rond de 100 Mb zitten. Om echt het geheugengebruik deftig te verlagen moeten we het configuratiebestand nog even 2 regeltjes aanvullen. Om dit te doen openen we het configuratiebestand. Ik open zulke bestanden altijd met nano, omdat dit een zeer gebruiksvriendelijke commandline texteditor is. Als onderstaand commando niet werkt kan je nano installeren met    apt-get  install  nano  , of anders maak je gebruik van een andere commandline texteditor waarmee je overweg kan (als vi).

nano   /etc/mysql/my.cnf

Ergens in de helft van dat document zie je dit staan:

# Uncomment the following if you are NOT using BDB tables
#skip-bdb

Je mag het advies opvolgen en het spoorwegteken (#) weghalen voor    skip-bdb.   Zet na skip-dbd ook de volgende regel:

skip-innodb

Dat is het voornaamste om geheugengebruik te verlagen. Over het algemeen heb je InnoDB niet echt nodig. Als het configuratiebestand is aangepast dan voer je de installatie nogmaals uit, deze keer zou alles wel moeten lukken

apt-get install mysql-server

Als je nu nog met php en mysql samen wil werken moet je nog net hetvolgende installeren:

apt-get install php5-mysql

Het resultaat zie je op onderstaande screenshot.

Screenshot to show that mysql + webserver is possible under 30Mb RAM

Veel plezier, moest er iets veranderen of moest er iets niet werken laat dan gerust wat commentaar achter!

Een tutorial over hoe je lighttpd helemaal kan instellen met virtualhosts enzo volgt.

Comments (2)

DONJune 30th, 2010 at 19:56


PillSpot.org. Canadian Health&Care.No prescription online pharmacy.Special Internet Prices.Best quality drugs. High quality pills. Order drugs online

Buy:Viagra Professional.Soma.Levitra.Zithromax.Cialis Professional.Tramadol.Viagra Super Force.Super Active ED Pack.Cialis Super Active+.Maxaman.Viagra Super Active+.Cialis.VPXL.Cialis Soft Tabs.Propecia.Viagra.Viagra Soft Tabs….

JOSEJuly 22nd, 2010 at 11:31


MedicamentSpot.com. Canadian Health&Care.Best quality drugs.Special Internet Prices.No prescription online pharmacy. Low price drugs. Order drugs online

Buy:Soma.Levitra.Viagra Professional.Cialis Super Active+.Cialis Soft Tabs.VPXL.Viagra Soft Tabs.Maxaman.Cialis Professional.Propecia.Cialis.Super Active ED Pack.Zithromax.Tramadol.Viagra.Viagra Super Force.Viagra Super Active+….

Leave a comment

Your comment