Varnish Cache · 7 min read · Feb 12, 2026

Varnish Cache 6 für Apache/Nginx auf CentOS 8 installieren

Varnish Cache ist ein leistungsstarker Reverse-HTTP-Proxy, der verwendet wird, um Webanwendungen zu beschleunigen und als Open-Source-Software verfügbar ist. Varnish speichert sowohl statische als auch dynamische Inhalte. Es verarbeitet alle eingehenden Anfragen, bevor sie auf Ihrem Webserver landen. Es sitzt zwischen einem Webbrowser und dem Apache- oder Nginx-Webserver. Der Varnish-Cache speichert alle eingehenden Seitenanfragen im Speicher, sodass Webserver die gleiche Webseite nicht immer wieder neu erstellen müssen.

In diesem Beitrag zeigen wir Ihnen, wie Sie den Varnish-Cache mit Apache und Nginx auf CentOS 8 installieren.

Voraussetzungen

  • Ein Server, der CentOS 8 ausführt.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

Erste Schritte

Bevor Sie beginnen, wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

dnf update -y

Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.

Varnish installieren

Standardmäßig ist das Varnish-Paket im Standard-Repo von CentOS 8 enthalten. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

dnf install varnish -y

Nach der Installation von Varnish bearbeiten Sie die Standardkonfigurationsdatei von Varnish und definieren die Adresse des Nginx- oder Apache-Webservers.

nano /etc/varnish/default.vcl

Ändern Sie die folgenden Zeilen:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.

Varnish konfigurieren

Standardmäßig hört Varnish auf Port 6081. Daher müssen Sie Varnish so konfigurieren, dass es auf Port 80 hört. Sie können dies tun, indem Sie die Datei varnish.service bearbeiten:

nano /lib/systemd/system/varnish.service

Suchen Sie die folgende Zeile:

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

Ersetzen Sie sie durch die folgende Zeile:

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Speichern Sie die Datei und schließen Sie sie, und laden Sie dann den systemd-Daemon neu, um die Änderungen anzuwenden:

systemctl daemon-reload

Starten Sie als Nächstes den Varnish-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird, mit dem folgenden Befehl:

systemctl start varnish  
systemctl enable varnish

Sie können auch den Status von Varnish mit dem folgenden Befehl überprüfen:

systemctl status varnish

Sie sollten die folgende Ausgabe erhalten:

? varnish.service - Varnish Cache, ein leistungsstarker HTTP-Beschleuniger
   Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-03-12 04:17:32 EST; 4s ago
  Process: 6391 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 6392 (varnishd)
    Tasks: 217
   Memory: 99.5M
   CGroup: /system.slice/varnish.service
           ??6392 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??6402 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Mar 12 04:17:32 masternode systemd[1]: Starting Varnish Cache, ein leistungsstarker HTTP-Beschleuniger...
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Plattform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6392]: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6392]: Plattform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Kind (6402) gestartet
Mar 12 04:17:32 masternode varnishd[6392]: Kind (6402) gestartet
Mar 12 04:17:32 masternode varnishd[6392]: Kind (6402) sagte Kind startet
Mar 12 04:17:32 masternode systemd[1]: Varnish Cache, ein leistungsstarker HTTP-Beschleuniger, gestartet.

An diesem Punkt ist Varnish gestartet und hört auf Port 80. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep varnishd

Sie sollten die folgende Ausgabe erhalten:

LISTEN    0         10               127.0.0.1:34977            0.0.0.0:*        users:(("varnishd",pid=1532,fd=11))                                            
LISTEN    0         128                0.0.0.0:80               0.0.0.0:*        users:(("cache-main",pid=1542,fd=6),("varnishd",pid=1532,fd=6))                
LISTEN    0         128                   [::]:80                  [::]:*        users:(("cache-main",pid=1542,fd=7),("varnishd",pid=1532,fd=7))                
LISTEN    0         10                   [::1]:34909               [::]:*        users:(("varnishd",pid=1532,fd=10))                                            

An diesem Punkt ist der Varnish-Cache installiert und konfiguriert. Sie können jetzt mit dem nächsten Schritt fortfahren.

Nginx installieren und konfigurieren, um mit Varnish zu arbeiten

Zuerst müssen Sie das Nginx-Paket auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install nginx -y

Sobald es installiert ist, müssen Sie den Nginx-Hörport von 80 auf 8080 ändern. Sie können dies tun, indem Sie die Standardkonfigurationsdatei von Nginx bearbeiten:

nano /etc/nginx/nginx.conf

Ändern Sie die folgenden Zeilen:

        listen       8080 default_server;
        listen       [::]:8080 default_server;

Speichern Sie die Datei und schließen Sie sie, und überprüfen Sie dann Nginx auf Syntaxfehler mit dem folgenden Befehl:

ginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich

Starten Sie als Nächstes den Nginx-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird:

systemctl start nginx  
systemctl enable nginx

Sie können auch den Nginx-Hörport mit dem folgenden Befehl überprüfen:

ss -antpl | grep 8080

Sie sollten die folgende Ausgabe erhalten:

LISTEN    0         128                0.0.0.0:8080             0.0.0.0:*        users:(("nginx",pid=5569,fd=8),("nginx",pid=5568,fd=8))                        
LISTEN    0         128                   [::]:8080                [::]:*        users:(("nginx",pid=5569,fd=9),("nginx",pid=5568,fd=9))                        

An diesem Punkt ist der Varnish-Cache installiert und konfiguriert, um alle Anfragen, die auf Port 80 eingehen, an den Nginx-Webserver weiterzuleiten, der auf Port 8080 hört.

Sie können überprüfen, ob der Varnish-Cache funktioniert oder nicht, mit dem folgenden Befehl:

curl -I http://localhost

Sie sollten die folgende Ausgabe erhalten:

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 12 Mar 2021 09:18:32 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
ETag: "5d9bab28-fd9"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Apache installieren und konfigurieren, um mit Varnish zu arbeiten

Zuerst müssen Sie das Apache-Webserver-Paket auf Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install httpd -y

Nach der Installation von Apache bearbeiten Sie die Standardkonfigurationsdatei von Apache und ändern den Hörport von 80 auf 8080.

nano /etc/httpd/conf/httpd.conf

Ändern Sie die folgende Zeile:

Listen 8080

Speichern Sie die Datei und schließen Sie sie, und starten Sie dann den Apache-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird, mit dem folgenden Befehl:

systemctl start httpd  
systemctl enable httpd

Sie können auch den Apache-Hörport mit dem folgenden Befehl überprüfen:

ss -antpl | grep httpd

Sie sollten die folgende Ausgabe erhalten:

LISTEN    0         128                      *:8080                   *:*        users:(("httpd",pid=7556,fd=4),("httpd",pid=7555,fd=4),("httpd",pid=7554,fd=4),("httpd",pid=7552,fd=4))

An diesem Punkt ist der Varnish-Cache installiert und konfiguriert, um alle Anfragen, die auf Port 80 eingehen, an den Apache-Webserver weiterzuleiten, der auf Port 8080 hört.

Sie können überprüfen, ob der Varnish-Cache funktioniert oder nicht, mit dem folgenden Befehl:

curl -I http://localhost

Sie sollten die folgende Ausgabe erhalten:

Date: Fri, 12 Mar 2021 09:21:14 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5bd5365602e05"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Connection: keep-alive

Mit der Varnish-Befehlszeile arbeiten

Varnish wird mit mehreren nützlichen Dienstprogrammen geliefert, die Ihnen helfen, Varnish zu überwachen und zu steuern.

varnishadm ist ein Befehlszeilen-Dienstprogramm, das verwendet wird, um konfigurierte Backends aufzulisten.

varnishadm

Sie sollten die folgende Ausgabe sehen:

200        
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7

Type 'help' for command list.
Type 'quit' to close CLI session.

Führen Sie jetzt den folgenden Befehl aus, um alle Backends aufzulisten:

varnish> backend.list

Sie sollten die folgende Ausgabe sehen:

200        
Backend name                   Admin      Probe                Last updated
boot.default                   probe      Healthy (no probe)   Sat, 13 Mar 2021 03:00:02 GMT

varnishlog

Das Dienstprogramm varnishlog wird verwendet, um die Protokolle aller Benutzeranfragen anzuzeigen.

varnishlog

Sie sollten die folgende Ausgabe erhalten:

*   << BeReq    >> 6         
-   Begin          bereq 5 fetch
-   VCL_use        boot
-   Timestamp      Start: 1615604631.507187 0.000000 0.000000
-   BereqMethod    GET
-   BereqURL       /
-   BereqProtocol  HTTP/1.1
-   BereqHeader    Host: 69.87.218.214
-   BereqHeader    Upgrade-Insecure-Requests: 1
-   BereqHeader    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
-   BereqHeader    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
-   BereqHeader    Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
-   BereqHeader    X-Forwarded-For: 106.213.193.241
-   BereqHeader    Accept-Encoding: gzip
-   BereqHeader    X-Varnish: 6
-   VCL_call       BACKEND_FETCH
-   VCL_return     fetch
-   BackendOpen    31 boot.default 127.0.0.1 8080 127.0.0.1 58860
-   BackendStart   127.0.0.1 8080
-   Timestamp      Bereq: 1615604631.507458 0.000270 0.000270
-   Timestamp      Beresp: 1615604631.507844 0.000657 0.000386
-   BerespProtocol HTTP/1.1
-   BerespStatus   200
-   BerespReason   OK
-   BerespHeader   Server: nginx/1.14.1
-   BerespHeader   Date: Sat, 13 Mar 2021 03:03:51 GMT
-   BerespHeader   Content-Type: text/html
-   BerespHeader   Content-Length: 4057
-   BerespHeader   Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT

varnishstat

Der Befehl varnishstat gibt Ihnen Informationen über die im Speicher befindlichen Statistiken, Speicher, erstellte Threads und gelöschte Objekte.

varnishstat

Sie sollten den folgenden Bildschirm sehen:

Varnish stats

varnishtop

Der Befehl varnishtop liest die gemeinsamen Speicherprotokolle von varnishd und präsentiert eine kontinuierlich aktualisierte Liste der am häufigsten vorkommenden Protokolleinträge.

varnishtop

Sie sollten den folgenden Bildschirm sehen:

varnishtop

varnishhist

Varnishhist analysiert die Varnish-Protokolle und druckt die letzten n Anfragen nach ihrer Verarbeitung.

varnishhist

Sie sollten den folgenden Bildschirm sehen:

varnishhist

Fazit

In diesem Leitfaden haben Sie gelernt, wie Sie den Varnish-Cache mit dem Apache- und Nginx-Webserver installieren und konfigurieren. Sie können jetzt den Varnish-Cache in der Produktionsumgebung implementieren und die Leistung Ihrer Website steigern. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.