Varnish mit dem apache2.2

Moin,

Seit längerem mal wieder nen Tutorial… diesmal gehts um den apache mit varnish - eigentlich eine einfache geschichte….

Es geht darum die Requests nicht jedes mal durch das php mit allem drum un dran durchzujagen sondern nur wenn es eine änderung gegeben hat, der Varnish Dienst speichert im Ram die gerenderte seite bis eine änderung vorgenommen wird.

Ich Cache hier nur http traffic, keinen https - wer https cachen will sollte sich ein anständiges CMS besorgen[ Wordpress ist kein CMS! ]

1) Varnish in einer aktuellen version besorgen (https://www.varnish-cache.org/installation/ubuntu)

curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" >> /etc/apt/sources.list
apt-get update
apt-get install varnish

2) Varnish konfigurieren

/etc/varnish/default.acl 

hier kann man den Port definieren, unter welchem der Varnish die Requests an den Apache weitergibt. ( ich würde das hier so stehen lassen…)

/etc/default/varnish

hier kommt der Interessante teil, der Daemon. Eigentlich kann man die DAEMON_OPTS so stehen lassen, was man ändern sollte ist unter

 -a "port" 
 -s malloc, "speicher im ram" 

hinter dem “malloc, “ kann man beliebige speicher größen angeben aka 512m, 1G, 5G

3) die Vorhandenen bzw. neuen Apache vhosts umbauen vim /etc/apache2/ports.conf

NameVirtualHost *:<port aus der default.acl> 
Listen <port aus der default.acl> 
NameVirtualHost *:443
listen 443 
SSLStrictSNIVHostCheck off 

und nun die vhosts, da ich verdammt faul bin

 sed -i s%:80%:8080%g *

4) den ganzene kram testen 4.1) tail -f /var/log/apache/*-access.log 4.2) /etc/init.d/apache2 restart && /etc/init.d/varnish restart

Nun sollte wenn man eine http seite aufruft und sich den header anschaut sollte sowas vorkommen

Via:1.1 varnish 
X-Powered-By:PHP/5.3.2-1ubuntu4.14 
X-Varnish:1504287498 

wenn ihr jetzt den apache mal mit siege -bunter last setzt sollte es sich auf dem server nicht bemerkbar machen bzw. nicht mehr ganz so schlimm ;)