Likes Likes:  0
Resultaten 1 tot 8 van de 8
  1. #1
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    26 Berichten
    Ingeschreven
    19/01/14

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked



    Thread Starter

    Varnish in combinatie met directadmin

    Situatie: CentOs 6.5, Apache 2, Varnish 4, directadmin, meerdere domeinen die vanuit één vps worden geserveerd, dus gebruik van vhosts.

    Ik heb al enkele malen getracht varnish in combinatie met apache te laten werken maar ik denk dat directadmin me in de weg zit. Varnish op zich start zonder fouten. Maar als ik de domeinen benader krijg ik niet de homepage maar de default pagina van Apache "Apache is function normally". Als ik naar de http header (van die apache is function normally pagina) kijk zie ik dat hij keurig via Varnish is geleverd.

    Ik moet ergens over heen kijken maar weet niet wat.

    Mijn doel: om de verschillende domeinen via varnish te serveren, maar in eerst instantie het varnish gedeelte zo simpel mogelijk te houden. Varnish wil ik laten luisteren op port 80, de backend (httpd) op 8080.


    Wat ik heb aangepast/ingesteld:

    /etc/sysconfig/varnish
    Daar staat op dit moment alleen: DAEMON_OPTS="-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -u varnish -s malloc,256M"

    /etc/varnish/default.vcl
    backend default {
    .host = "127.0.0.1";
    .port = "8080";
    }


    Apache laten luisteren op port 8080
    /etc/httpd/conf/httpd.conf
    Listen 8080

    /etc/httpd/conf/extra/httpd-vhosts.conf
    Is op dit moment niet zo relevant, is alleen maar voor requests waarvan de hostnaam niet wordt herkend. Heb ik (nu even) niet aangepast moet later ook port 8080 in komen te staan.

    /etc/httpd.conf/ips.conf
    NameVirtualHost portnummer achter ip-adres aanpassen naar 8080

    /etc/httpd/conf/extra/direct-admin-vhosts.conf wijst naar:
    /usr/local/directadmin/data/users/admin/httpd.conf
    Daarin het portnummer :80 wijzigen naar :8080 zoals bijvoorbeeld onderstaand:
    <VirtualHost 1.2.3.4:8080 [ip-v6 adres]:8080 >
    Servername www.eerstedomein.nl
    ...
    ...
    </VirtualHost>

    (1.2.3.4 moet natuurlijk het ipadres zijn van de vps)
    En bovenstaande herhalen voor alle domeinnamen (maar heb ik mijn test even alleen voor één domein aangepast).


    Daarna service httpd restart en service varnish start

    Voor het aangepaste domein krijg ik de bekende "apache is function normally" pagina te zien.



  2. #2
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    4.149 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Managed WordPress Hosting / Codert.cloud
    Functie: CEO
    URL: www.managedwphosting.nl
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    wat zeggen varnishlog en je apache logs? Denk dat je daar eens moet kijken.
    WordPress hosting Optimalisatie webbouw debugging door WP Core developers

  3. #3
    Varnish in combinatie met directadmin
    Programmeur / Hoster
    3.952 Berichten
    Ingeschreven
    20/06/06

    Locatie
    Wijlre

    Post Thanks / Like
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    647 Berichten zijn liked


    Naam: John Timmer
    Bedrijf: SystemDeveloper.NL
    Functie: Eigenaar
    URL: www.systemdeveloper.nl
    KvK nummer: 14083066
    View johntimmer's profile on LinkedIn

    Heb je ook een './build rewrite_confs' gedaan?
    SystemDeveloper.NL - 64BitsWebhosting.EU : Softwareontwikkeling & Hosting freaks

  4. #4
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    270 Berichten
    Ingeschreven
    01/03/12

    Locatie
    Drachten

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    41 Berichten zijn liked


    Naam: Martijn Spiekman
    View martijnspiekman's profile on LinkedIn

    Het klopt wel dat je deze pagina te zien krijgt. In de default.vcl van Varnish heb je namelijk als backend 127.0.0.1 ingesteld, terwijl je domein(en) op het publieke IP-adres (1.2.3.4) staan.

    Wat je zou moeten doen is de backend van de default.vcl aanpassen naar 1.2.3.4 en dan zou het wel moeten werken. Dit gaat overigens goed totdat je met meerdere IP-adressen gaat werken op de server. Dan moet je een extra backend aanmaken voor dat specifieke domein (met het IP-adres waar dat domein op staat).

  5. #5
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    26 Berichten
    Ingeschreven
    19/01/14

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked



    Thread Starter
    @magentohosting : je wil niet weten hoe blij ik ben. Na zes weken lang iedere avond zoeken, lezen en proberen komt er nu schot in de zaak.
    Na het wijzigen van het ip-adres zit varnish nu tussen de client en apache in en krijgt de client gewoon de pagina's te zien.

    Ik reageer op je bericht wat laat omdat ik sinds je opmerking weer hevig aan het zoeken en lezen ben vanwege de volgende uitdaging: Varnish zit er nu wel tussen maar met alleen "misses" (geen hits), tja dat helpt niet echt

    Ik een vermoeden in welke richting ik moet zoeken maar de oplossing nog niet gevonden.

    Ik vermoed dat het zit in de Cache-control: max-age=0
    Zit ik dan in de juiste oplosrichting?


    In .htaccess staat:

    Header unset Last-Modified
    FileETag none
    ExpiresActive On
    ExpiresDefault "access plus 1 years"

    Per ongeluk staan er twee bijlagen, ik weet niet hoe ik die kan verwijderen. De bovenste moet je negeren.
    Bijgevoegde Afbeeldingen Bijgevoegde Afbeeldingen Varnish in combinatie met directadmin-header-png  Varnish in combinatie met directadmin-header-png 
    Laatst gewijzigd door draadje; 06/06/15 om 17:30.

  6. #6
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    270 Berichten
    Ingeschreven
    01/03/12

    Locatie
    Drachten

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    41 Berichten zijn liked


    Naam: Martijn Spiekman
    View martijnspiekman's profile on LinkedIn

    Goed om te horen dat het werkt!

    Zorgen dat Varnish ook daadwerkelijk gaat cachen zul je in moeten stellen in de default.vcl & niet in de .htaccess. Zoals je nu Varnish nu hebt draaiend is het niets meer dan een reverse proxy: Varnish ontvangt de request van de bezoeker en geeft dit domweg door aan Apache, die vervolgens de pagina serveert aan Varnish en daarna komt het bij de bezoeker.

    In de default.vcl kun je bijv. instellen dat Varnish enkel .png, .jpg, etc. cached en met de rest niks doet. Hoe je dit precies moet gaan inrichten is enigszins afhankelijk van hetgeen dat je probeert te bereiken. Eventueel kun je kijken of er al VCL's voor je gebruikte CMS is/zijn (WordPress, Magento, etc.).

  7. #7
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    26 Berichten
    Ingeschreven
    19/01/14

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked



    Thread Starter
    PS: ik gebruik geen CMS, doe alles met notepad.

    Ben terug gegaan naar de basis.
    Eerst maar eens eerst HIT's krijgen met eenvoudige pagina's.
    Als dat werkt dan weer langzaam terug naar de complex opgebouwde pagina's.
    Dus geen php, css, js, google analytics en pretty url's, of ophalen van pagina objecten vanuit andere domeinen en ook geen .htaccess (die even verwijderd van de server)

    Ik heb voor de deze test de TTL op 1200 gezet met -t 1200.


    Dit is de kale test.htm:

    <html>
    <body>
    <h1>Testpagina</h1>
    <p>tekst</p>
    <img src="/_/img/logo.png">
    </body>
    </html>

    Dan lijkt het (zonder wijzigingen in default.vcl) wel (een beetje) te werken.

    Maar wel zaken die ik nog niet doorgrond.
    De praktijk hieronde strookt nog niet met mijn idee van Varnish (als een object al eens is gevraagd, dus in cache staat, dan zal een volgende request altijd uit cache komen, dus een HIT opleveren, uitgaande van een TTL die ruim voldoende is)

    Wat ik heb gedaan (op een en dezelfde computer):


    Browser 1 (firefox): roep pagina test.htm op.

    test.htm: MISS Age = 0
    logo.png: MISS Age = 0

    Na reload beiden een HIT met Age=34

    Dit is geheel volgens mijn verwachtingen: eerst zitten beide objecten zitten nog niet in cahce, dus MISS is begrijpelijk. Na reload uiteraard beiden een HIT. Ook de Age waarden zijn gelijk, klopt helemaal.


    Nou komt het...
    Ik ga naar browser 2 (chrome): roep dezelfde test.htm pagina op.

    test.htm: MISS Age = 0
    logo.png: HIT Age = 74

    Begrijp dat niet, de test.htm komt niet uit de varnish cache. Waarom niet?
    De logo.png wel (dat klopt).

    Als ik een reload doe van de pagina dan
    beiden een HIT, .htm age=62, .png age=136


    Nog maar eens een derde browser (IE 11)

    test.htm: MISS Age = 0
    logo.png: MISS Age = 0

    Ik ben lost.
    Na een reload in IE: .htm HIT met age=22 en .png HIT met Age=235



    Dan naar Opera:

    test.htm: MISS Age = 0
    logo.png: HIT Age = 313

    ik krab op mijn hoofd.
    Na een reload in Opera:

    .htm HIT Age=39
    .png HIT Age=352


    Kan iemand dit HIT/MISS gedrag verklaren?

    PS: de default.vcl is heel erg basic, hooguit:

    sub vcl_deliver {
    if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT";
    } else {
    set resp.http.X-Cache = "MISS";
    }
    }
    Laatst gewijzigd door draadje; 07/06/15 om 01:01.

  8. #8
    Varnish in combinatie met directadmin
    geregistreerd gebruiker
    390 Berichten
    Ingeschreven
    11/01/10

    Locatie
    Houten

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    19 Berichten zijn liked


    Naam: Kevin Bentlage
    Bedrijf: Cobytes B.V.
    Functie: CTO / Founder
    URL: www.cobytes.com
    Registrar SIDN: nee
    KvK nummer: 67974139
    Ondernemingsnummer: nvt
    View kevinbentlage's profile on LinkedIn

    Zover ik weet maakt varnish een hash van het opgevraagde "bestand" gebruik makend van o.a. de user-agent waarmee het request wordt gedaan. Hierdoor wordt er dus per browser een versie in de cache opgeslagen. Alleen wat wel vreemd is, is die png file, want daar zou je hetzelfde effect verwachten.

    Wat meer info over die user-agents en hoe je dat kunt tackelen;
    https://www.varnish-cache.org/trac/w...ampleFixupVary


    Sent from my iPhone using webhostingtalk mobile app
    Kwalitatieve managed hosting met een persoonlijke service.

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics