Webserver
Webserver (07/2022)
| Server | Prozent |
|---|---|
| nginx | 33.6% |
| Apache | 31.4% |
| Cloudflare Server | 21.7% |
| Microsoft IIS | 6.0% |
| Node.js | 2.0% |
| 1.1% |
Webserver (Auswahl)
- nginx (http://nginx.org)
- freier Webserver unter BSD-Lizenz
- kleiner und schlanker Webserver
- Apache (http://httpd.apache.org)
- ältester Webserver am Markt
- OpenSource-Produkt und Freeware
- für UNIX-Plattformen und für MS Windows/DOS verfügbar
- Microsofts Internet Information Server (IIS)
- Kommerzieller Webserver für Windows
- Teil von Windows Server
- Node.js (https://nodejs.org)
- JavaScript-Server unter MIT-Lizenz
- Asynchrones Programmiermodell
- Google Web Server (GWS)
- Google betreibt damit ca. 10 Millionen eigene Websites
- nicht allgemein verfügbar
- lighttpd (http://www.lighttpd.net)
- freier Webserver unter BSD-Lizenz
- optimiert für Massendaten
- eingesetzt z. B. bei YouTube oder SourceForge
Webserver: Grobe Architektur
Allgemeines zur Konfiguration
Konfiguration von Webservern
- Konfiguration ist abhängig vom eingesetzten Server
- Webserver läuft als
- Anwendung: gut für Testzwecke
- Daemon (Dienst): gut für den Betrieb einer öffentlichen Seite
- Für Testzwecke auch ohne Internetzugang zu verwenden
- Viele Webserver unterstützen Virtual Hosts
- mehrere Websites auf einem Server realisiert
- Unterscheidung zwischen Sites über den Host-Header
Grundeinstellungen
Bei allen Servern müssen eingestellt werden
- IP-Adresse und Hostnamen des Servers
- für lokalen Betrieb IP-Adresse 127.0.0.1 und Namen localhost
- ansonsten eine öffentliche IP-Adresse (keine privaten Netze)
- Port des Servers
- normalerweise Port 80
- für Testzwecke häufig 8080 günstiger wegen privilegierter Ports
- HTTP-Wurzelverzeichnis für HTML-Dateien
- Verzeichnis, unterhalb dessen sich die lokalen HTML-Dateien befinden
- Default-Datei für Verzeichnisanfragen
- z. B. index.html oder index.htm
- Log-Dateien
- Protokollierung der Zugriffe, z. B.
access.log - Protokollierung von Fehlern, z. B.
error.log - Timeouts für das Senden und Empfangen
- Angaben erfolgen in der Regel in Sekunden
- MIME-Typen
- Dateiformate, die der Webserver kennt und an den aufrufenden Webbrowser überträgt
- Andere Dateitypen sendet der Server nicht korrekt bzw. mit dem eingestellten Standard MIME-Typ (text/plain)
Apache
Apache ist einer der am häufigsten eingesetzte Server
- Name stammt von „a patchy NCSA Server“
- Open-Source
- Seit 1995 verfügbar
- Aktuelle Version 2.4.54
- Teil vieler Linux-Distributionen und von Mac OS X
- Kann auch selber kompiliert werden
Module
Apache kann durch Module erweitert werden, z. B.
mod_cgi: beliebige CGI-Skripte ausführenmod_perl: Perl-Skripte ausführenmod_php: PHP-Skripte ausführenmod_python: Python-Skripte ausführenmod_rewrite: URLs rewritenmod_jk: Verbindung zu einem Java-Server herstellenmod_proxy: Als Proxy fungieren
XAMPP
Einfache Installation eines Webstacks über XAMPP
- Verfügbar für Linux, Windows, Mac OS X und Solaris
- Kostenlos (http://www.apachefriends.org)
- Gute Integration und nützliche Tools
- Enthält: Apache, MySQL, PHP, Perl …