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 -ySobald 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 -yNach 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.serviceSuchen Sie die folgende Zeile:
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256mErsetzen Sie sie durch die folgende Zeile:
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256mSpeichern Sie die Datei und schließen Sie sie, und laden Sie dann den systemd-Daemon neu, um die Änderungen anzuwenden:
systemctl daemon-reloadStarten 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 varnishSie können auch den Status von Varnish mit dem folgenden Befehl überprüfen:
systemctl status varnishSie 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 varnishdSie 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 -ySobald 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 -tSie sollten die folgende Ausgabe erhalten:
nginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreichStarten Sie als Nächstes den Nginx-Dienst und aktivieren Sie ihn, damit er beim Systemneustart gestartet wird:
systemctl start nginx
systemctl enable nginxSie können auch den Nginx-Hörport mit dem folgenden Befehl überprüfen:
ss -antpl | grep 8080Sie 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://localhostSie 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-aliveApache 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 -yNach 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 8080Speichern 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 httpdSie können auch den Apache-Hörport mit dem folgenden Befehl überprüfen:
ss -antpl | grep httpdSie 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://localhostSie 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-aliveMit 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.
varnishadmSie 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.listSie 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 GMTvarnishlog
Das Dienstprogramm varnishlog wird verwendet, um die Protokolle aller Benutzeranfragen anzuzeigen.
varnishlogSie 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 GMTvarnishstat
Der Befehl varnishstat gibt Ihnen Informationen über die im Speicher befindlichen Statistiken, Speicher, erstellte Threads und gelöschte Objekte.
varnishstatSie sollten den folgenden Bildschirm sehen:

varnishtop
Der Befehl varnishtop liest die gemeinsamen Speicherprotokolle von varnishd und präsentiert eine kontinuierlich aktualisierte Liste der am häufigsten vorkommenden Protokolleinträge.
varnishtopSie sollten den folgenden Bildschirm sehen:

varnishhist
Varnishhist analysiert die Varnish-Protokolle und druckt die letzten n Anfragen nach ihrer Verarbeitung.
varnishhistSie sollten den folgenden Bildschirm sehen:

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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.