httpd.conf
Deze vraag is voor mensen met een eigen VPS.
Ik heb nu een paar virtual hosts in mijn Apache config file "httpd.conf" staan. Deze worden automatisch aangemaakt door cPanel (op het moment dat ik een domeinnaam koppel). Nu vraag ik me af... 1 virtual host heeft ongeveer 40 regels code. Stel nu dat ik ooit (heel erg ooit) 500 websites op m'n VPS zou hebben draaien. Dan is dat 40 regels code x 500 = 20.000 regels code. Gaat dat gewoon goed? Ik heb ook geen idee of httpd.conf bij iedere pagina request wordt aangeroepen, of dat het bestand in het interne geheugen wordt geplaatst.
Is er iemand die hier misschien iets over kan zeggen? Ik snap dat het een vrij specialistische vraag is, maar ik hoop toch dat iemand mij iets wijzer kan maken. Bedankt alvast.
Gewijzigd op 21/01/2013 20:36:15 door Ozzie PHP
include jouwsite-dot-nl-host.conf
Zo werkt Direct Admin ook.
Gewijzigd op 21/01/2013 20:43:13 door - Ariën -
Ik hoef niks te includen... maar ik vraag me alleen af of een bestand van 20.000 regels veel is? Is dat een belasting voor de processor, of stelt het niks voor?
En ik vraag me ook af of httpd.comf eenmalig wordt ingeladen en in het geheugen wordt gezet, of dat het bij iedere pagina-aanroep opnieuw wordt ingelezen...??
??
.htaccess bestanden worden wel geladen (als de directory dit toelaat) wel geladen op een pagerequest op een dir waarin ze voorkomen.
Ozzie PHP op 21/01/2013 20:45:57:
Aar, ik snap niet helemaal wat je bedoelt...
Ik hoef niks te includen... maar ik vraag me alleen af of een bestand van 20.000 regels veel is? Is dat een belasting voor de processor, of stelt het niks voor?
En ik vraag me ook af of httpd.comf eenmalig wordt ingeladen en in het geheugen wordt gezet, of dat het bij iedere pagina-aanroep opnieuw wordt ingelezen...??
Ik hoef niks te includen... maar ik vraag me alleen af of een bestand van 20.000 regels veel is? Is dat een belasting voor de processor, of stelt het niks voor?
En ik vraag me ook af of httpd.comf eenmalig wordt ingeladen en in het geheugen wordt gezet, of dat het bij iedere pagina-aanroep opnieuw wordt ingelezen...??
Je kan virtual-host .conf bestanden includeren. Zo houd je het overzichtelijk.
Je kan proberen om er 5.000 sites in te zetten, maar misschien heb je kans op een slechte performance.
Toevoeging op 21/01/2013 21:11:32:
Gilian Abels op 21/01/2013 20:58:08:
include ("jouwsite-dot-nl-host.conf");
??
??
Dit is geen PHP, maar je hebt het bijna goed ;)
Mijn httpd.conf wordt automatisch gegenereerd door cPanel dus ik kan niet zomaar iets includen.
Maar ik heb dus 2 vragen:
1) wanneer wordt httpd.conf geladen? Bij iedere pagina-aanroep? Of wordt het eenmaal ingeladen en dan in het interne geheugen van de server gezet?
2) kan het kwaad als dat bestand (ooit) 20.000 regels lang wordt, of gaat dat gewoon goed?
2. Het zal geen dooie Indiaan worden.
En waarom zou je een lange onoverzichtelijke virtual-host willen, als je daar ook een include-functie hebt ;-)
Maar als ik het dus goed begrijp... je wijzigt iets, de Apache server wordt opnieuw opgestart, en vanaf dat moment zit het in het geheugen? Het is dus niet zo dat bij iedere pagina-aanroep dat hele bestand opnieuw wordt ingelezen? Correct?
@Aar: zoals ik al zei wordt het bestand automatisch gegenereerd en kan ik niet zomaar iets includen.
Gezien dat je bij elke settings-aanpassing de server moet herstarten, lijkt mij aannemelijk dat al die informatie in het geheugen opgeslagen zal staan.
Oké, als dat inderdaad zo is, dan is het niet zo erg als het bestand lang wordt...
Ligt aan hoeveel geheugen je hebt.... ;)
Hmmm, ja... momenteel nog maar 512mb... maar daar zal het toch wel inpassen??? Enne... tegen de tijd dat ik 500 sites heb, zal ik vast ietsje meer geheugen hebben, hihihi ;)
Hoe groot is een tekst bestand met 20 000 regels? Ik denk dat het laden van die regels niet het grootste probleem gaat zijn als je zoveel websites op je vps wilt zetten.
500 site's op 1 host? Ooit aan load-balancing gedacht? Je gaat toch geen 500 site's op 1 host draaien? Dat is niet vooruit te branden.
Chris, ik heb geen idee of dat wel of niet vooruit te branden is. Ik heb nog lang geen 500 sites namelijk. Maar dat hangt er toch ook helemaal vanaf wat voor server je hebt? Op dit moment heb ik een klein servertje met 1 processor en 512mb. Maar als je een grote server hebt met meerdere supersnelle processors en veel intern geheugen dan wordt het toch een heel ander verhaal?
Ja, maar in dat andere verhaal kom je echt nog niet aan de aantallen van 500 websites 0_o Meestal heb je dan wel wat meer servertjes naast elkaar staan...
Haha, ja dat klopt... 500 is ook wel heel veel. Maar dan heb je inderdaad misschien meerdere servers staan. Geen idee hoe zoiets in z'n werk gaat eigenlijk. Ik huur nu een kleine VPS, maar kan makkelijk uitbreiden naar een grotere... maar misschien moeten dat er ooit wel meerdere worden. Maar krijgt iedere VPS dan ook z'n eigen IP-adres? Of hebben alle servers hetzelfde IP-adres. Vraag me af hoe zoiets werkt eigenlijk...
Nee VPS staat voor Virtual Private Server, en je hebt daar een gezamelijk IP adres. Je zit met meerdere mensen op 1 server farm, daaronder worden een x aantal ip's toegewezig (ik meen 5 tot 8 per stack). Jou server is dus virtueel (VMWare) en is dus daarom makkelijk uit te breiden zonder je server down te brengen.
Tevens zit je niet alleen met de resources van je server (CPU, Geheugen, HDD, etc), maar ook je datalimiet per maand. Als je 1TB per maand hebt, dan zou ik daar nooit meer dan 10 tot max 15 site's op zetten. Ik neem aan dat je mensen/bedrijven hosting wil verkopen, dan ga je ze geen 200mb per maand aan datalimiet geven lijkt me.
VPS is eigenlijk het zelfde als shared hosting of een resellers hosting, alleen heb je bij een VPS RDP/SSH rechten om je OS daadwerkelijk vanaf afstand te benaderen en volledig te beheren. Maar je deelt dus met meerdere mensen 1 publiek IP adres. Pas bij hogere duurdere pakketten of dedicated servers krijg je een eigen IP adres.
Chris NVT op 23/01/2013 07:33:10:
@Ozzie,
Nee VPS staat voor Virtual Private Server, en je hebt daar een gezamelijk IP adres. Je zit met meerdere mensen op 1 server farm, daaronder worden een x aantal ip's toegewezig (ik meen 5 tot 8 per stack). Jou server is dus virtueel (VMWare) en is dus daarom makkelijk uit te breiden zonder je server down te brengen.
Nee VPS staat voor Virtual Private Server, en je hebt daar een gezamelijk IP adres. Je zit met meerdere mensen op 1 server farm, daaronder worden een x aantal ip's toegewezig (ik meen 5 tot 8 per stack). Jou server is dus virtueel (VMWare) en is dus daarom makkelijk uit te breiden zonder je server down te brengen.
Volgens mij zit je juist niet gezamenlijk met meerdere servers op 1 IP-adres. Dat is technisch praktisch onmogelijk. Wat wil je dan doen bij een request op de ene server het IP-adres uit de netwerk interface swappen met een andere server? :P De rest klopt wel inderdaad, dat is een van de grote voordelen van een VPS. Nog stoerder is bijvoorbeeld Amazon of Rackspace cloud, dan betaal je per uur en kun je flexibel VPS'en opschalen :D
Het kan wel dat je met 1 ipadres communiceert, via een loadbalancer maar dan hebben ze onderliggend wel andere ipadressen.
Haha, ik zou je niet druk maken om een aantal regeltjes configuratie want 200 regels is dus natuurlijk echt helemaal niks.
Sowieso ben ik zelf niet zo'n fan van cpanel, directadmin etc ik zelf gebruiken openpanel, die is lekker lightweight en verziekt niet je hele server waardoor je zelf veel controle hebt over wat je wel en niet installeert.
En Ozzie, ik weet niet of je Ubuntu of CentOs draait maar bij Ubuntu moet je eigenlijk standaard je virtualhosts in /etc/sites-availble zetten.
Toevoeging op 23/01/2013 08:52:00:
Ozzie PHP op 22/01/2013 13:45:34:
Haha, ja dat klopt... 500 is ook wel heel veel. Maar dan heb je inderdaad misschien meerdere servers staan. Geen idee hoe zoiets in z'n werk gaat eigenlijk. Ik huur nu een kleine VPS, maar kan makkelijk uitbreiden naar een grotere... maar misschien moeten dat er ooit wel meerdere worden. Maar krijgt iedere VPS dan ook z'n eigen IP-adres? Of hebben alle servers hetzelfde IP-adres. Vraag me af hoe zoiets werkt eigenlijk...
Hoe dat werkt is echt leuk. Ik heb er regelmatig mee gewerkt bij mijn vorige klanten (voornamelijk Telegraaf). Stel je hebt 10 servers beschikbaar. Dan configureer je alle 500 sites op elke server (configuratie te delen heb je diverse programma's voor maar rsync werkt ook prima). Het is dan mogelijk om ozzie.nl op elke van die 10 servers op te roepen.
Vervolgens zet je er een loadbalancer voor (in principe een DNS server) en gebruik je bijvoorbeeld round-robin als load-balance algoritme. Die zorgt ervoor dat van 100 requests elke 10 op een van de 10 servers terecht komen. Op de load balancer kun je dan een programma installeren die continue de 'gezondheid' van de 10 webservers controleert, wanneer een van deze niet goed reageert flikkert hij deze server uit zijn pool en worden je 500 websites maar vanaf 9 servers geserveerd. Dan kun je er met andere tools (bijvoorbeeld Nagios) weer voor zorgen dat jij gebeld of gesmst wordt.
Op die manier verdeel je EN load / verkeer EN je kunt meer beschikbaarheid bieden. Wat NOG gaver is (en dat gebruikte ze hiervoor ook) is flexibel horizontaal schalen. Dat kan dus bij aanbieders zoals Amazon of Rackspace. Je huurt bij hun dan permanent 2 webservers en 1 loadbalancer bijvoorbeeld. De load balancer of een andere server die houdt de CPU load (en ook gezondheid) in de gaten van de 2 webservers. Wanneer deze het te druk krijgen schaalt hij automatisch (ja dat kan) er bijvoorbeeld 2 servers bij, en als het nog drukker is nog 2. Wanneer de load / verkeer daalt dan schaalt hij weer naar beneden. Zo kan het dus zijn dat overdag maar 3 uur lang 6 servers gehad hebt en de rest van de dag maar 2. Scheelt een hoop in de kosten.
Het automatisch bij schalen kun je geloof ik met de REST api doen van Amazon en Vagrant gebruiken om je box erin te droppen ofzo.
Het is sowieso erg interessante stof maar is vaak pas noodzakelijk als je echt veel dataverkeer hebt :)
Gewijzigd op 23/01/2013 08:42:05 door kees Schepers