Nachdem wir erklärt haben, wie Varnish installiert wird, ist es an der Zeit, zu erklären, wie Varnish in Ubuntu konfiguriert wird , obwohl es einige allgemeine Teile zu Varnish geben wird, die in jeder Linux-Distribution anwendbar sind.
Lack Konfigurationsanleitung in Ubuntu.
Wie bereits erwähnt, basiert diese Anleitung zur Konfiguration von Varnish auf Ubuntu, ist jedoch für andere Linux-Distributionen wie Debian oder CentOS vollständig gültig, wobei berücksichtigt wird, dass sich der Speicherort der Konfigurationsdateien und einiger Befehle von einer Linux-Distribution zur anderen ändern können Abgesehen von diesen Unterschieden ist das Konzept dasselbe.
Bevor wir beginnen, müssen wir uns darüber im Klaren sein, wie wir unseren Server konfigurieren werden . Dazu werde ich nach der Installation und Konfiguration von Varnish die ursprüngliche Serverkonfiguration und -konfiguration anzeigen. Ich werde dies mit einigen Schemata in den folgenden Bildern zeigen:
Standard-Apache-Server überwacht Port 80
Apache-Server lauscht auf Port 8080 und Varnish verarbeitet HTTP-Anforderungen auf Port 80
Von diesen Schemata werden wir den zweiten kommentieren. Wir können sehen, wie wir das Varnish-Programm zwischen dem Benutzer und Apache platziert haben. Jetzt hört Varnish auf Port 80 alle Anfragen ab, die Benutzer über ihren Browser stellen, und Varnish ist für die Verarbeitung dieser Anfragen verantwortlich. Gleichzeitig ist Varnish für die Anforderung der vom Benutzer über Port 8080 von Apache angeforderten Ressourcen verantwortlich .
Nun, der gesamte vorige Text ist dahingehend zusammengefasst, dass wir Apache zuerst so konfigurieren müssen, dass es unter Port 8080 funktioniert, da es standardmäßig unter Port 80 funktioniert.
Wir müssen die Apahe-Konfigurationsdatei mit dem Namen ports.conf
in Ubuntu finden, die sich unter /etc/apache2/ports.conf
Wir bearbeiten diese Datei so, dass der Parameter “Listen” auf Port 8080 lauscht. Es gibt zwei Optionen, die Ihnen angezeigt werden können: “Listen 80” oder “Listen 127.0.0.1:80” , abhängig von der Ubuntu-Version, aber welche Wir sind uns sicher, dass wir Port 80 in 8080 ändern und diese Parameter wie folgt belassen: “Listen 8080” oder “Listen 127.0.0.1:8080” .
Der Unterschied besteht darin, dass Apache von jeder IP-Adresse über Port 8080 erreichbar ist, wenn wir die IP-Adresse 127.0.01 nicht angeben.
Es kann auch vorkommen, dass Sie in der Datei ports.conf die folgende Zeile haben: “NameVirtualHost 127.0.0.1:80”, dass Sie diese ebenfalls in “NameVirtualHost 127.0.0.1:8080” ändern müssen .
Dann müssen Sie die Konfigurationsdateien der VirtualHosts ändern. Die Konfigurationsdateien der verschiedenen Virtualhosts befinden sich im Verzeichnis /etc/apache2/sites-available/
Wir müssen alle Dateien unserer VirtualHosts bearbeiten. Wenn wir also “VirtualHost 127.0.0.1:80” haben, gehen Sie zu “VirtualHost 127.0.0.1:8080” und wenn wir “VirtualHost *: 80” haben, gehen Sie zu “VirtualHost *: 8080” .
Der Unterschied besteht darin, dass auf jede IP-Adresse zugegriffen werden kann, wenn wir einen Stern setzen. Wenn wir eine IP-Adresse angeben (in diesem Fall 127.0.0.1), kann nur auf diese zugegriffen werden.
Starten Sie Apache mit dem folgenden Befehl neu: service apache2 restart
Wir haben bereits Apache auf Port 8080, jetzt haben wir die Varnish-Konfiguration und denken Sie daran, dass Varnish jetzt auf Port 80 funktioniert.
Konfigurieren Sie die Lackstartparameter.
Um Varnish zu konfigurieren, müssen Sie zuerst die Boot-Parameter einstellen. Dazu werden wir uns eingehend mit jedem einzelnen befassen und dann verschiedene Einstellungen der Boot-Parameter vorschlagen. Anschließend können wir diejenige auswählen, die unseren Anforderungen am besten entspricht.
Die DAEMON_OPTS
werden mit der Option DAEMON_OPTS
geändert, die die folgenden Parameter empfangen kann ( DAEMON_OPTS
, Groß- und Kleinschreibung in den Parameternamen zu unterscheiden) :
- Parameter
-a
: Das Format dieses Parameters ist IP_DONDE_PUCHAR: PUERTO. Der Parameter IP_DONDE_ESCUCHAR kann weggelassen werden, damit alle IPs abgehört werden. -
-T
Parameter : Das Format ist IP_WERE_LISTEN: PUERTO . Dieser Parameter gibt die IP und den Port an, an dem Sie die Administrationsoberfläche des Varnish Cache abhören. - -T-Parameter : Gibt standardmäßig die TTL ( Time To Live ) an.
- Parameter
-p
: Es ist nicht erforderlich, ihn zu verwenden, es sei denn, wir sind fortgeschrittene Benutzer. Damit können wir eine Reihe von Werten angeben, wie z. B. thread_pool_min, thread_pool_max, thread_pools, listen_depth, session_linger, lru_interval . - Parameter
-w
: Ermöglicht das Festlegen von drei durch Kommas getrennten kommabezogenen Werten unter Verwendung von Varnish minimum_thread_number, maximum_number_threads, timeout_of_threads . Wir müssen diese Werte auch nicht standardmäßig anpassen. - Parameter
-s
: Dieser Parameter ist wichtig, da hiermit festgelegt werden kann, wo der Cache (Speicher oder Festplatte) und seine Größe gespeichert werden sollen. Schauen wir uns die folgenden Beispiele an, um es besser zu verstehen:-
-s malloc,1G
: Mit diesem Parameter geben wir an, dass der Cache im Speicher gespeichert ist und die Größe 1 GB hat. -
-s file,/var/lib/varnish/sathost/varnish_storage.bin,1G
: Mit diesem Parameter geben wir an, dass eine Datei zum Speichern des Cache mit einer Größe von 1 GB verwendet werden soll. Wir können die Größe auch mit einem Prozentsatz angeben, zum Beispiel würden wir das 1 GB der vorherigen Beispiele durch die 50%-s file,/var/lib/varnish/sathost/varnish_storage.bin,50%
und dies würde-s file,/var/lib/varnish/sathost/varnish_storage.bin,50%
dass-s file,/var/lib/varnish/sathost/varnish_storage.bin,50%
verwendet wurden % der Festplattengröße für den Cache.
-
- Parameter
-f
: Dieser Parameter gibt den Speicherort der Lackkonfigurationsdatei an. Beispielsweise gibt-f /etc/varnish/default.vcl
den Speicherort der Konfigurations-vcl-Datei an. - Parameter
-S
: Gibt den Speicherort der geheimen Datei an, die für die Authentifizierung der Lackkonsole verwendet wird.
Schauen wir uns einige Beispiele für Boot-Parametereinstellungen an :
DAEMON_OPTS="-a :80 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m"
Dieses Beispiel ist sehr verbreitet und legt die Verwendung von 256 MB RAM für den Cache fest. Die restlichen Optionen sind der bereits erwähnte Speicherort der Konfigurationsdatei, die geheime Datei und der Port, an dem Varnish empfangsbereit ist.
DAEMON_OPTS="-a :80 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s file,/var/lib/varnish/sathost/varnish_storage.bin,1G"
Ein Beispiel, das die Verwendung einer 1-GB-Datei als Cache zusammen mit den anderen oben genannten Optionen festlegt.
Die Varnish-Konfigurationsdatei ist sehr wichtig und wird später ausführlich behandelt, da wir uns mit VCL (Varnish Configuration Language) befassen müssen.
Was den Port anbelangt, gebe ich Beispiele für Port 80, da mein Ziel darin besteht, Varnish als Beschleuniger einer Webseite zu konfigurieren. Dies kann der Fall sein, wenn andere Ports zusammen mit internen IPs verwendet werden, insbesondere wenn dies jedoch als Load Balancer verwendet wird Das ist nicht der Zweck dieses Leitfadens.
Verwenden Sie den Speicher, um eine Datei zwischenzuspeichern oder zu verwenden.
Einige von Ihnen fragen sich vielleicht, was besser ist, verwenden Sie den Cache-Speicher oder verwenden Sie eine Datei. Die Theorie besagt, dass das Zwischenspeichern im Speicher den Inhalt von Webseiten schneller bereitstellt , aber wir wissen bereits, dass der Speicher in VPS sehr begrenzt und teuer ist. Daher ist es manchmal besser, freien Speicher für das ordnungsgemäße Funktionieren des Betriebssystems zu lassen.
Ein weiterer Faktor, der bei der Entscheidung über die zu verwendende Cache-Methode berücksichtigt werden muss, ist die Größe der Elemente, die zwischengespeichert werden sollen, z. B., wenn nur 20 Artikel eines WordPress-Blogs zwischengespeichert werden sollen, und 64 MB für den zu verwendenden Cache Übrig geblieben, aber wenn wir ein Blog mit mehr als 20.000 Artikeln und PDF-Anhängen und hochauflösenden Bildern zwischenspeichern wollen, ist die beste Option, den Festplatten-Cache zu verwenden, wenn wir nicht über genügend RAM verfügen.
Zusammenfassend muss anhand der verfügbaren Ressourcen entschieden werden, welche Methode verwendet werden soll. In mehreren Artikeln der Analyse zu Varnish, die ich auf Englisch lesen konnte, wird bestätigt, dass Varnish mit dem Festplatten-Cache langfristig effektiver ist, wenn die Trefferquote im Cache zunimmt. Dies widerspricht meinen Theorien, kann aber seit heute zutreffen Tag mit SSD-Festplatten haben Sie Zugriff auf Daten mit sehr hoher Geschwindigkeit.
Wenn wir eine Partition verwenden, um den Varnish-Cache zu verwenden, wird dringend empfohlen, diese Partition mit den Optionen noatime und nodiratime bereitzustellen.
VCL: Lackkonfigurationssprache
Varnish verwendet diese VCL-Sprache, um dem Benutzer das Verwalten von Anforderungen mit einer Art Logik zu ermöglichen. Dieser Teil ist besonders umfangreich und wird in einem zweiten Teil dieser Lack-Konfigurationsanleitung behandelt.
Nützliche Befehle zum Starten, Stoppen, Neustarten und Neuladen von Varnish.
Wir können all diese Funktionen ausführen, wenn wir über die Konsole mit Varnish interagieren müssen, um es zu stoppen, neu zu starten oder Varnish neu zu laden. Die Befehle sind:
- Start Lack :
service varnish start
- Stop Lack :
service varnish stop
-
service varnish restart
:service varnish restart
-
service varnish reload
:service varnish reload
Einige von Ihnen fragen sich vielleicht, was der Unterschied zwischen dem Neustart und dem Neuladen von Varnish ist. Wenn wir Varnish neu starten, starten wir das gesamte Programm neu, indem wir Varnish aus- und wieder einschalten. Wenn wir es neu laden, laden wir nur die Konfiguration neu, ohne Varnish auszuschalten .
Ich hoffe es hat Ihnen gefallen und ich hoffe, den zweiten Teil des Varnish-Konfigurationsleitfadens so bald wie möglich zu haben. Bei Kommentaren oder Fragen zögern Sie nicht, die Kommentare zu verwenden.