Warum sollte ich Squid verwenden?

7

Ich habe gegoogelt, StackOverflow gesucht und hier. Trotzdem kann ich nicht ganz verstehen, was oder warum jemand Squid verwenden würde.

Bisher kann ich nur herausfinden, dass es sich um eine Art Cache handelt, mit dem Ihr Server (dh Apache) weniger arbeiten muss. Kann jemand genau erklären, was Squid macht und was noch wichtiger ist, warum sollte ich Squid verwenden wollen?

Ich habe eine große soziale Netzwerkseite, daher wäre es vielleicht von Vorteil, Bilder oder ähnliches bereitzustellen. Ich verwende derzeit lighttpd getrennt von Apache, nur um Bilder bereitzustellen.

JasonDavis
quelle

Antworten:

20

Squid ist ein Webcache, der Webinhalte zwischenspeichert und auf Anfrage schnell zurückgibt. Die Bearbeitung einer Anfrage über Squid ist häufig schneller als ein Allzweck-Webserver, selbst für einfache Dateien (z. B. Bilder). Sie eignet sich jedoch hervorragend zum Zwischenspeichern von Seiten, die dynamisch generiert werden. Dies kann teuer und langsam sein. Auf diese Weise können Sie Ihre Seiten dynamisch erstellen, aber eine statische, zwischengespeicherte Kopie schnell an Anforderer senden. Es ist eine Menge Konfiguration möglich, wie lange es zwischengespeichert wird, welche Seiten zwischengespeichert werden und wie ein zwischengespeichertes Ergebnis ungültig gemacht wird.

Beispielsweise verwendet Wikipedia Caches (Tintenfisch und andere) als Inhaltsbeschleuniger, sodass bei jedem Treffer auf einer Seite diese nicht über viel PHP aus der Datenbank neu generiert wird. Wenn Seiten geändert werden, wird der Cache-Eintrag ungültig.

Morven
quelle
Schöne prägnante Antwort. +1
John Gardeniers
2

Es ist Open Source und funktioniert sogar mit Windows.

Ich möchte auch hinzufügen, dass es nicht nur ein Web-Cache ist. Die Datei squid.conf bietet unzählige Optionen. Wir führen es als Webfilter aus (unter Verwendung kostenloser Blacklists) und blockieren damit sogar Ports auf einer Handvoll Maschinen.

cop1152
quelle
"Es ist Open Source und funktioniert sogar mit Windows." Sicher, aber wie ist das für die Frage relevant, warum das Poster die Verwendung in Betracht ziehen sollte?
John Gardeniers
Auf der anderen Seite ist es ein guter Punkt über die anderen Optionen, also +1 dafür.
Maximus Minimus
JG - Ich denke, Open Source ist manchmal Grund genug, bestimmte Software gegenüber anderen zu verwenden.
cop1152
1

Neben all den Antworten hier kann Squid auch zum Filtern von Inhalten verwendet werden, die dem Endbenutzer zur Verfügung gestellt werden. Sie können beispielsweise verhindern, dass Minderjährige Websites für Erwachsene anzeigen.

Squid kann heruntergeladene Dateien auch gegen Viren scannen.

Ja, es ist wirklich mächtig.

Minder
quelle
0

Wie Morven betonte, kann die Verwendung von Squid als Reverse Proxy die Seitenbereitstellung beschleunigen, indem Seiten zwischengespeichert werden, die vom Webserver dynamisch erstellt werden müssten, sich jedoch in der Realität nur selten ändern.

Soweit ich weiß, ist dies nicht der Hauptzweck von Squids, und NGINX könnte eine bessere Lösung sein, da es die schnellste Reverse-Proxy-Lösung sein soll. Vielleicht möchten Sie es auch untersuchen.

OliverS
quelle
0

Wenn Sie möchten, dass ein Reverse-Proxy den Webverkehr durch Zwischenspeichern von Bildern und langsam generierende Seiten beschleunigt, sollten Sie sich Varnish anstelle von Squid ansehen . Es wurde für das Reverse-Proxy-Verhalten entwickelt, ist blitzschnell und relativ einfach einzurichten. Squid ist eher als Forward-Proxy als als Reverse-Proxy konzipiert. Wenn Sie eine große Website für soziale Netzwerke hatten, sollten Sie möglicherweise auch ein CDN für die Bilder und den statischen Inhalt verwenden. Internet -> CDN -> Lack -> Apache-Cluster Sie können Varnish auch als Load Balancer verwenden, um den Knotenzustand zu überprüfen.

Tom O'Connor
quelle
0

Ich habe Squid nicht als Reverse-Proxy verwendet, aber ich habe Pount und HAProxy (gleichzeitig) verwendet und es war ein großartiges System. Wir haben es verwendet, um Lastausgleich und Hochverfügbarkeit zu ermöglichen, und haben den Caching-Aspekt nicht verwendet von ihnen.

Lassen Sie mich wissen, wenn Sie weitere Informationen zum Setup wünschen.

Dan
quelle
-5

Squid wird häufig verwendet, um Inhalte von außen in Ihrem Unternehmensnetzwerk zwischenzuspeichern.

Sie würden es nicht in einem Hosting- oder Content-Delivery-Szenario verwenden.

Josh Budde
quelle
6
Viele Menschen verwenden Tintenfisch als Beschleuniger für Websites. Die Verwendung in Ihrem eigenen Netzwerk ist wahrscheinlich die häufigste Verwendung.
Zoredache
Ja, ich habe Tintenfisch als Beschleuniger für Webserver verwendet, indem ich seine Reverse-Proxy-Funktionen verwendet habe
Nick Kavadias