it-swarm.com.de

Was macht einen PC zu einem Webserver und was macht ihn unfähig?

Ich habe eine Frage zur Verwendung eines Computers als Webserver. Warum kann ein bestimmter Computer ein Webserver sein? Welche Funktionen machen es zu einem Webserver? Gibt es einen Fall, in dem ein Computer nicht als Webserver fungieren kann?

43

Nahezu jeder Computer kann als [Web] Server verwendet werden, vorausgesetzt, er kann eine Verbindung zu einem Netzwerk herstellen und Webserver-Software ausführen. Da ein Webserver recht einfach sein kann und es kostenlose und Open-Source-Webserver gibt, kann in der Praxis jedes Gerät als Webserver fungieren.

Das größere Problem ist die Vernetzung. Damit ein System als Server fungieren kann, müssen andere Computer darauf zugreifen können. Wenn es nur für die Verwendung in einem LAN vorgesehen ist, gibt es keine Bedenken. Wenn es jedoch für die Verwendung aus dem breiteren Internet vorgesehen ist, müssen Daten an dieses weitergeleitet werden. Dies erfordert entweder eine statische IP-Adresse, die dem Server zugeordnet ist (oder einen über einen Router weitergeleiteten Port), oder einen externen Dienst, der einen Domänennamen/eine Unterdomäne einer sich ändernden dynamischen IP-Adresse zuordnen kann.

(FWIW, Sie können 10 $ Computer kaufen die als grundlegender Webserver fungieren können.)

Obwohl jedes Gerät als Webserver fungieren kann, können die Funktionen von Websites sehr unterschiedlich sein, und ein billiges Gerät (oder eine langsame Verbindung) kann den Anforderungen möglicherweise nicht gerecht werden, je nachdem, um welche Website es sich handelt.

Ich stelle fest, dass alles oben über Webserver spricht - aber dasselbe kann für so ziemlich jeden Servertyp gesagt werden.

97
davidgo

Es ist überhaupt nicht schwierig. Dies hängt lediglich von Ihrer Definition des "Webservers" ab.

Es ist durchaus möglich, einen "Webserver" auf Geräten auszuführen, die so einfach wie ein Mikrocontroller sind.

Überlegen wir uns, was der reine Minimal-Webserver tun müsste. Es müsste etwas Text ausgeben - nicht unbedingt sogar in HTML an einen Client. Es muss bekannt sein, dass es sich bei einer Anfrage um eine Anfrage handelt, und es muss angemessen geantwortet werden. Sie würden nicht einmal eine Netzwerkverbindung benötigen, wenn Ihr "Client" lokal wäre. Es wäre ein völlig sinnloser Webserver.

Es wäre das Webserveräquivalent von eines davon .

 enter image description here

Hinzufügen einer Netzwerkkonnektivität für einen Client (Ethernet ist gut, aber es gibt keinen technischen Grund, warum Sie keine Verbindung zu einem Webserver herstellen können, der über WLAN ausgeführt wird) und die Möglichkeit, eine Route von einem Client aus zu erstellen, sind besser.

Ein $ 5 ESP8266 - ein billiger, minimaler Mikrocontroller mit WLAN kann einen Großteil davon bewältigen, und vielleicht sogar grundlegende dynamische Inhalte

Ich benutze so etwas für den schnellen Dateiaustausch mit Python. Es ist durchaus möglich, so etwas auf einem Mikrocontroller zu schreiben oder sogar auf einem Telefon auszuführen.

Statischer Inhalt ist langweilig. Fügen Sie dynamische Sprachen hinzu und Sie müssen anfangen, an schwerere Gewichtssysteme zu denken. Sachen, die Linux oder Windows laufen lassen, sind nett.

An dieser Stelle geht es um Consumer-Router, kleine Anwendungen, die Webseiten auf der Benutzeroberfläche verwenden, und all das.

Ein Webserver ist nicht einmal ein komplexes Problem und kann in fünf Zeilen Bash geschrieben und unter Linux ausgeführt werden. Jetzt Doom ... Aber auf jedem System, das Doom ausführen kann, kann ein Webserver ausgeführt werden.

Eine gute Webserver-Konfiguration, die eine bestimmte Last verarbeiten kann, ist etwas schwieriger.

25
Journeyman Geek

Das absolut Nötigste

Wörtlich kann ein beliebiger Computer ein Webserver werden, wenn er Folgendes aufweist:

  • Eine Netzwerkverbindung
  • Eine sehr einfache Webserver-App, wie diese .

Aber würde es ausreichen? Nun, das ist die schwierige Frage.

Ein Intranet bedienen

Damit ein Computer zu einem Webserver wird, der moderne Webseiten oder Web-Apps für eine ganze Community (z. B. Schule, Firma, Museum) bereitstellt:

  • Hardware, die mehrere Computer gleichzeitig ansprechen kann. Möglicherweise würde ein alter Computer mit Linux oder Windows XP ausreichen.
  • Eine Hochgeschwindigkeitsnetzwerkverbindung mit ausreichender Bandbreite, z. B. 1 Gbit/s Ethernet oder 802.11g Wi-Fi.
  • Eine gute Webserver-App wie IST , Apache , Nginx oder others . (Überraschenderweise sind diese drei kostenlos.)

Aber das war nur ein Minimum für kleine Operationen. Wenn Ihr Betrieb größer wird (d. H. Wenn Sie einen größeren Datenverkehr haben und komplexe Web-Apps statt statischer Seiten bereitstellen), steigen Ihre Anforderungen. Sie benötigen schließlich:

  • Hardware der Serverklasse wie Rack-Server mit mehreren Xeon-CPUs und Hunderten von Gigabyte RAM
  • Glasfasernetze

Der Welt draußen dienen

Um die Internetinfrastruktur für die gesamte Welt zu nutzen, benötigen Sie:

Ohne diese ist alles, was Sie haben, ein potenziell Webserver.

11
user477799

Wenn Sie einen Computer zur Hand haben (PC, Laptop, Smartphone, HimbeerPI ...), auf dem Python installiert ist, geben Sie einfach Folgendes ein:

$ python -m SimpleHTTPServer

Oder wenn Sie Node.js installiert haben:

$ npm install http-server -g
$ http-server

Herzlichen Glückwunsch, Sie haben einen Webserver!

3
matt