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 ;)