Suche Webserver für Dateien > 2GB

Hallo,

ich kämpfe gerade mit einem Testaufbau für eine Video-on-Demand Lösung. Der gelieferte Movie-Server saugt per HTTP GET Filme auf seine Platte. Ich muss also einen Webserver mit den Filmen bereitstellen. Leider sind die Dateien sehr groß (weit > 2GB) und ich habe noch keinen Webserver gefunden, der mit diesen Größen zurecht kommt.

Da ich den Overkill Apache vermeiden möchte (der übrigens standardmäßig auch nicht mit solchen Größen klarkommt), habe ich es mit thttpd und mini_httpd versucht.

http://www.acme.com/software/thttpd/
http://www.acme.com/software/mini_httpd/

Laut Mailing-Liste soll thttpd bei Übersetzung mit den Optionen

-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

mit großen Dateien umgehen können. Das ist aber nicht der Fall. Er zeigt sie dann zwar endlich im Directory an, aber beim Versuch des Download kommt immer noch der Fehler

500 internal Error: There was an unusual problem serving the requested URL ‚/bound_together.mts‘.

Meine Fragen:

  1. Gibt es eine Möglichkeit den thttpd aufzubohren? Ich habe hier die neueste Beta am Start (2.23beta1) unter Linux Kernel 2.4.20-4GB/SuSE 8.2

  2. Kennt jemand einen Webserver, der klein und schlank ist und große Dateien ohne Fummelei unterstützt?

Jaja, ich weiss, dass HTML für solche Dateigrößen nicht elegant ist, aber an dem Server kann ich nichts ändern. Es gibt leider auch keinerlei Möglichkeit per telnet oder ssh darauf zuzugreifen um dann evtl. eine FTP Übertragung zu starten.

Dank für Tipps und Hilfe

Fritze

PS: suche Webserver für Dateien > 2GB
Hallo,

ich habe gerade in den Logfiles gewühlt und zusätzlich die Information

127.0.0.1 - - "GET /bound\_together.mts HTTP/1.1" 500 0 "http://localhost/" "Opera/7.20 (X11; Linux i686; U) [en]"
Oct 1 17:30:53 admin thttpd[2975]: mmc panic - freeing all unreferenced maps
Oct 1 17:30:53 admin thttpd[2975]: mmap - Cannot allocate memory

gefunden. Der Server scheint also zunächst einmal die komplette Datei ins RAM kopieren zu wollen, bevor er sie weiterreicht. Das geht bei 512 MB natürlich in die Hose. Leider habe ich hier keine weiteren 3.5GB RAM rumfliegen.

Oder verstehe ich den „mmap“ Aufruf falsch?

Gruß

Fritze

Hallo nochmal,

wo ich mir gerade schon so schön selber antworte :smile:

Ich habe in Zeile 188 des Quellkodes folgendes gefunden:

size\_t size\_size = (size\_t) m-\>size; /\* loses on files \>2GB \*/

Man beachte den schönen Kommentar. ARGH! Ich schätze, die Lösung ist hochgradig nicht-trivial. Leider habe ich gerade so gar keine Zeit, mich in den Quellkode einzuarbeiten. Hilfe!

Gruß

Fritze

Leider sind die Dateien sehr
groß (weit > 2GB) und ich habe noch keinen Webserver
gefunden, der mit diesen Größen zurecht kommt.

publicfile (mit tcpserver/daemontools) mal getestet?

Sebastian