Webserver

Webserver (07/2022)

Server Prozent
nginx 33.6%
Apache 31.4%
Cloudflare Server 21.7%
Microsoft IIS 6.0%
Node.js 2.0%
Google 1.1%

Quelle: https://w3techs.com/

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

Webserver-Architektur
Grobe Architektur eines Webservers

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
Apache-Logo
Logo der ASF

Module

Apache kann durch Module erweitert werden, z. B.

  • mod_cgi: beliebige CGI-Skripte ausführen
  • mod_perl: Perl-Skripte ausführen
  • mod_php: PHP-Skripte ausführen
  • mod_python: Python-Skripte ausführen
  • mod_rewrite: URLs rewriten
  • mod_jk: Verbindung zu einem Java-Server herstellen
  • mod_proxy: Als Proxy fungieren
Apache Module
Apache Module

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 …

Copyright © 2025 Thomas Smits