Schlagen Sie einen blitzschnellen, funktionsarmen und sicheren Linux-Webserver für die Bereitstellung statischer Inhalte vor. [Closed]

14

Die Liste der Must-Have-Anforderungen:

  • Sie können statische HTML-Seiten und -Dateien (Bilder, komprimierte Archive, ASCII-Textdateien usw.) über HTTP bereitstellen.
  • seine Ressource konservativ . Es nutzt das, was benötigt wird, um Daten in Form von Speicher und CPU über das Netzwerk zu senden, und nicht viel mehr.
  • Haben Sie eine kleine Installationsfläche.
  • Verwenden Sie nur so viel Netzwerkbandbreite wie nötig.
  • sei reif .
  • seine einfach zu konfigurieren.
  • in nativen Code kompiliert werden. Kein Python oder Java etc.

Was ich nicht brauche:

  • Komplexe Konfigurationsmöglichkeiten. Bei Bedarf werde ich später zu Apache httpd wechseln.
  • Unterstützung für die Ausführung von CGI, Perl, PHP, Java, Server Side Includes oder anderen "Extras".

Irgendwelche Vorschläge bitte?

p.Campbell
quelle
9
Ich würde es als blitzschnell bezeichnen, wenn es für Linux keinen Webserver gibt. Ich bin mir nicht sicher, ob sich dieser Name durchsetzen würde.
Dominic Rodger
Ich denke, sie haben auch darüber nachgedacht, aber sie haben sich mit `nginx 'abgefunden.
Sie könnten immer Python verwenden: "python -m SimpleHTTPServer" Dies wird das aktuelle Verzeichnis auf Port 8000 servieren.
Gert M

Antworten:

17

Lighttpd fällt mir ein.

Gemäß den Lighttpd-Tutorial-Dokumenten dauert das Konfigurieren eines statischen Servers ungefähr 5 Minuten:

anon
quelle
Die Konfigurationsdateien haben meiner Meinung nach eine schreckliche Syntax.
Danman
8

Es gibt viele, aber ich persönlich mag Cherokee. Es ist relativ neu, aber auch sehr einfach mit einer eingebauten Web-GUI zu konfigurieren.

Oli
quelle
ist es noch gültig?
BigSack
8

Vielleicht werde ich herabgestuft, weil diese Lösungen nicht gemäß der "must have" -Liste der Frage in nativen Code kompiliert werden, aber für statischen Inhalt ist es nicht viel einfacher, als das aktuelle Verzeichnis mit einem Python-One-Liner zu teilen:

python -m SimpleHTTPServer 9914

Beachten Sie, dass Port 9914 willkürlich ist und einfach das Beispiel verwendet wird, in dem ich diese Lösung gefunden habe: http://linux.byexamples.com/archives/506/python-simple-http-server-for-file-sharing

Natürlich können Sie dies auch mit Perl tun:

perl -MIO::All -e 'io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'

. . . wie unter http://search.cpan.org/~ingy/IO-All-0.39/lib/IO/All.pod#A_Tiny_Web_Server beschrieben

Philip Durbin
quelle
Mit Python-3 verwenden$ python -m http.server 8000
Webwurst
5

Der Server, der genau das ist, was Sie beschrieben haben:

  • kHTTPd - im Kernel ein sehr einfacher Server. Nur statische Dateien.

Blitzschnelle Server, die bei Bedarf auch dynamische Seiten bedienen können :

vartec
quelle
4

Mehrere Kommentatoren haben lighttpd erwähnt. Eine andere Option ist thttpd.

Plutor
quelle
1
sieht gut aus, ist es das, was Wile E Coyote verwendet? ;)
Ist das noch am Leben? Die letzte Veröffentlichung war im Dezember 03 und das Mailinglisten-Archiv
endet
4

Schnell, sicher, effizient, wenig Features: Publicfile von Dan Bernstein.

John Weldon
quelle
Wir verwenden publicfile an mehreren Stellen, auch für einfache Aufgaben wie die interne Verteilung von WPAD-Konfigurationsdateien. Sehr schnell, sehr einfach, funktioniert immer.
Mikebabcock
3

oder kHTTPd - der Server, der in den Linux-Kernel eingebaut ist?

Bryan Childs
quelle
Das erste, was mir in den Sinn kam. Ich habe es nicht benutzt, aber ich habe die Option dort jedes Mal gesehen, wenn ich einen Kernel konfiguriere.
Übrigens, von der Website "Ab Kernel 2.3.14 ist kHTTPd in ​​den Kernel integriert." Also ist es ein paar Mal um den Block gewesen.
5
Ab Kernel 2.6 ist es jedoch nicht mehr in den Kernel integriert.
MarkR
3

Ich würde hier mit Cherokee gehen . Außerdem würde ich Apache vergessen. Wir sind alle liebevoll mit Apache, Spaß daran und MySQL aufgewachsen. Wir alle haben großartige Erinnerungen und wir alle wissen, wie man sie benutzt. :)

Das ist jedoch Vergangenheit, getönt durch rosarote Gläser. Fat ass Speicherauslastung, fette Prozesse, komplexe Konfigurationsdateien, eingebettete Interpreter .. feh. Im heutigen Zeitalter von VPS braucht niemand mehr fetten Arsch-Apache. Lieben Sie die Erinnerungen, aber speichern Sie Ihren RAM für Ihre Apps.

chiggsy
quelle
2

Ich benutze Mathopd seit 2 Jahren für die Bereitstellung von statischen Inhalten. Keine Kopfschmerzen - einfach zu konfigurieren, funktioniert nur und lässt die CPU neben dem Leerlauf.

pQd
quelle
2

Ich habe jahrelang hervorragende Ergebnisse mit thttpd erzielt , wobei häufig mehr als 250 Anfragen pro Sekunde (und das war im Durchschnitt über eine Stunde) und bis zu 400 gleichzeitige Anfragen bearbeitet wurden. Der Speicherverbrauch ist gering, die Stabilität extrem hoch und die Systemlast ist selbst bei einer hohen Anforderungslast / Sek. Nahezu gleich Null.

Bill the Cat von Bloom County erklärt, wie man thttpd ausspricht .

Alister Bulman
quelle
1

Vielleicht möchten Sie einen Blick auf http://www.lighttpd.net/ werfen. Bin mir nicht sicher, ob es ein Overkill für deine Anforderungen ist.

Alec Smart
quelle
1

Es gibt einen kommerziellen Webserver namens Zeus , der in der Inhaltsbranche, die durch statischen Inhalt mit hohem Volumen gekennzeichnet ist, ziemlich häufig verwendet wird. IIRC basiert auf Async. I / O, was sehr effizient für die CPU ist. Es könnte tun, was Sie wollen, aber es ist nicht kostenlos.

Betroffen vonTunbridgeWells
quelle
1

Sie könnten okws versuchen .

OKWS ist ein Webserver, der auf den Aufbau schneller und sicherer Webservices spezialisiert ist. Es bietet Web-Entwicklern eine kleine Reihe von Tools, die sich als leistungsstark genug erwiesen haben, um komplexe Systeme mit geringem Aufwand zu erstellen. Trotz seiner Betonung auf Sicherheit zeigt OKWS Leistungsvorteile im Vergleich zu gängigen Konkurrenten: Bei der Wartung von volldynamischen, nicht festplattengebundenen Datenbank-Workloads übertrifft OKWS den Durchsatz und die Reaktionsfähigkeit von Apache , Flash (der König der Webserver-Leistung) und Haboob ( ein akademisches System, das als der schnellste Java-Webserver im Block gilt). Kommerzielle Erfahrungen mit OKWS legen nahe, dass das System die Hardware- und Systemverwaltungskosten senken und gleichzeitig Sicherheitsgarantien bieten kann, die in aktuellen Systemen fehlen.

kopiert von okws.org

Brad Gilbert
quelle
1

Um mehr oder weniger vollständig zu sein, vergiss Hiawatha nicht . Die Entwicklung auf diesem ist ziemlich aktiv und es hat eine freundliche und hilfreiche Gemeinschaft.

joschi
quelle
0

Die meisten der sicheren und leichten Webserver wurden bereits erwähnt (z. B. publicfile, Nginx, Cherokee usw.). Wenn keine dieser Anforderungen Ihren Anforderungen entspricht, empfehle ich, Ihre statischen Dateien (Assets) für AWS S3 und CloudFront sowie für Google Sites für Ihre Webseiten zu hosten .

Bintut
quelle