
Ich habe eine Frage zur Verwendung eines Computers als Webserver. Warum kann ein bestimmter Computer ein Webserver sein? Welche Funktionen machen ihn zu einem Webserver? Gibt es Fälle, in denen ein Computer nicht als Webserver fungieren kann?
Antwort1
So ziemlich 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 praktisch jedes Gerät als Webserver fungieren.
Das größere Problem ist die Netzwerkseite. Damit ein System als Server fungieren kann, müssen andere Maschinen 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 weiteren Internet vorgesehen ist, müssen Daten dorthin geleitet werden. Dies erfordert entweder eine statische IP-Adresse, die dem Server zugeordnet ist (oder eine Portweiterleitung über einen Router) oder einen externen Dienst, der einen Domänennamen/eine Subdomäne einer sich ändernden dynamischen IP-Adresse zuordnen kann.
(FWIW, Sie können kaufen10-Dollar-Computerder als einfacher Webserver fungieren kann.)
Obwohl jedes Gerät als Webserver fungieren kann, kann die Funktionalität von Websites stark variieren und ein billiges Gerät (oder eine langsame Verbindung) kann den Anforderungen je nach Website möglicherweise nicht gerecht werden.
Mir ist aufgefallen, dass sich oben alles um Webserver dreht – das Gleiche kann jedoch über praktisch jeden Servertyp gesagt werden.
Antwort2
Das ist überhaupt nicht schwierig. Es hängt lediglich von Ihrer Definition von „Webserver“ ab.
Es ist durchaus möglich, einen „Webserver“ auf so einfachen Geräten wie einem Mikrocontroller auszuführen.
Überlegen wir, was der minimale Webserver leisten müsste. Er müsste einen Text an einen Client ausgeben – nicht unbedingt in HTML. Er müsste wissen, dass eine Anfrage eine Anfrage ist, und entsprechend reagieren. Sie bräuchten nicht einmal eine Netzwerkverbindung, wenn Ihr „Client“ lokal wäre. Es wäre ein völlig sinnloser Webserver.
Es wäre das Webserver-Äquivalent voneiner von diesen.
Besser wäre es, eine Netzwerkkonnektivität für einen Client hinzuzufügen (Ethernet ist gut, aber es gibt keinen technischen Grund, warum Sie keine Verbindung zu einem über WLAN laufenden Webserver herstellen können) und die Möglichkeit zum Routing von einem Client aus zu haben.
Ein 5-Dollar-ScheinESP8266– ein billiger, minimaler Mikrocontroller mit WLAN kann einen Großteil davon und vielleicht sogar grundlegende dynamische Inhalte verarbeiten
Ich verwende so etwas für den schnellen Dateiaustausch mit Python. Es ist immer noch durchaus möglich, so etwas auf einem Mikrocontroller zu schreiben oder sogar auf einem Telefon auszuführen.
Statischer Inhalt ist langweilig. Wenn Sie dynamische Sprachen hinzufügen, müssen Sie über leistungsstärkere Systeme nachdenken. Sachen, die unter Linux oder Windows laufen, sind nett.
An diesem Punkt sprechen Sie über Verbraucherrouter, kleine Anwendungen, die Webseiten auf der Benutzeroberfläche verwenden und dergleichen.
Ein Webserver ist nicht einmal ein komplexes Problem und kann geschrieben werden infünf Zeilen Bashund laufen unter Linux. JetztUntergang... Aber jedes System, das Doom ausführen kann, kann auch einen Webserver ausführen.
AGutDie Einrichtung eines Webservers, der eine bestimmte Last bewältigen kann, ist etwas schwieriger.
Antwort3
Das absolut Nötigste
Buchstäblich,beliebigEin Computer kann zu einem Webserver werden, wenn er über Folgendes verfügt:
- Eine Netzwerkverbindung
- Eine sehr einfache Webserver-App,so was.
Aber würde es ausreichen? Das ist die schwierige Frage.
Bereitstellung eines Intranets
Damit ein Computer zu einem Webserver wird, der einer ganzen Community (z. B. Schule, Unternehmen, Museum) moderne Webseiten oder Webanwendungen bereitstellt, müssen folgende Voraussetzungen erfüllt sein:
- Hardware, die mehrere Computer gleichzeitig bedienen kann. Vielleicht reicht ein alter Computer mit Linux oder Windows XP.
- Eine Hochgeschwindigkeits-Netzwerkverbindung mit ausreichender Bandbreite, beispielsweise 1 GBit/s Ethernet oder 802.11g WLAN.
- Eine gute Webserver-App, wieIIS,Apache,NginxoderAndere(Überraschenderweise sind diese drei kostenlos.)
Für kleine Betriebe sei das allerdings nur das Minimum.Wenn Ihr Betrieb größer wird (d. h. Sie haben mehr Verkehr und bieten komplexe Webanwendungen statt statischer Seiten an), wachsen Ihre Anforderungen. Sie werden irgendwann Folgendes brauchen:
- Server-Klasse-Hardware wie Rack-Server mit mehreren Xeon-CPUs und Hunderten von Gigabyte RAM
- Glasfasernetze
Im Dienste der Außenwelt
Um die Internet-Infrastruktur für die ganze Welt zu nutzen, benötigen Sie:
- Eine öffentliche IP-Adresse
- Ein öffentlicher DNS-Server
- Digitale Zertifikate ausgestellt vonseriöse Zertifizierungsstellenzum Aufbau einer sicheren Verbindung
Ohne diese haben Sie nur einPotenzialWebserver.
Antwort4
Wenn Sie einen Computer (PC, Laptop, Smartphone, RaspberryPI...) mit installiertem Python zur Hand haben, 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!