Benutzerhandbuch
Version 1.9 — Rev. 3

# Externe Anwendungen

Der LiteSpeed-Webserver kann Anfragen an externe Anwendungen weiterleiten, um dynamische Inhalte zu verarbeiten und zu erzeugen.
Seit Version 2.0 unterstuetzt LiteSpeed Web Server sieben Typen externer Anwendungen: CGI, FastCGI, Webserver, Servlet-Engine, LiteSpeed SAPI-Anwendung, Load Balancer und Piped Logger.

- CGI steht fuer Common Gateway Interface. Der aktuelle Standard ist CGI/1.1. CGI-Anwendungen laufen in eigenstaendigen Prozessen. Fuer jede Anfrage wird ein CGI-Prozess gestartet, der nach Abschluss der Anfrage beendet wird.
- FastCGI ist eine schnelle, offene und sichere Webserver-Schnittstelle, die die Leistungsprobleme von CGI loest, ohne den Aufwand und die Komplexitaet proprietaerer APIs (Application Programming Interfaces) einzufuehren. Weitere Informationen finden Sie unter https://fastcgi-archives.github.io/.
  In LiteSpeed Web Server koennen FastCGI-Anwendungen zwei Rollen uebernehmen: dynamische Antworten erzeugen (Responder-Rolle) oder Anfragen autorisieren (Authorizer-Rolle). LiteSpeed Web Server definiert ausserdem zwei Typen von FastCGI-Anwendungen: lokale FastCGI-Anwendungen und entfernte FastCGI-Anwendungen. Lokale FastCGI-Anwendungen werden vom Webserver bei Bedarf automatisch gestartet. Entfernte FastCGI-Anwendungen werden nicht vom Webserver gestartet. (Sie koennen auf einer entfernten Maschine oder auf derselben Maschine laufen.)
- Ein Webserver ist eine Serveranwendung, die die Protokolle HTTP 1.0/1.1 unterstuetzt. Der LiteSpeed-Webserver kann als transparenter Reverse-Proxy dienen, um Webserver und Anwendungsserver zu beschleunigen und zu schuetzen. Bei der Kommunikation mit Backend-Webservern versucht LiteSpeed immer, persistente Verbindungen zu nutzen, um die hoechste Leistung zu erreichen.
- Eine Servlet-Engine ist eine Anwendung wie Apache Tomcat oder Jetty, die Java Servlets und Java Server Pages implementiert. LiteSpeed kann ueber AJPv1.3 (Apache JServ Protocol version 1.3) mit Servlet-Engines kommunizieren. Eine Servlet-Engine kann nicht vom Webserver gestartet werden und kann so eingerichtet werden, dass sie auf einer entfernten Maschine laeuft.
- Eine LiteSpeed SAPI-Anwendung (LiteSpeed Server Application Programming Interface) ist eine Anwendung, die ueber LSAPI mit LiteSpeed Web Server kommuniziert. LSAPI ist eine schnelle, skalierbare Serverschnittstelle, die speziell fuer LiteSpeed Web Server entwickelt wurde, um maximale Effizienz zu erreichen.
  Die Funktionsweise von LSAPI ist FastCGI aehnlich, LSAPI-Anwendungen koennen jedoch bis zu 30% schneller sein als vergleichbare FastCGI-Anwendungen. LSAPI wird fuer unterstuetzte Anwendungen gegenueber FastCGI dringend empfohlen. (LSAPI unterstuetzt derzeit Anwendungen in PHP, Ruby und Python.)
  Weitere Informationen zu LSAPI finden Sie unter https://www.litespeedtech.com/open-source/litespeed-sapi .
- Ein Load Balancer ist eine virtuelle externe Anwendung, die Anfragen anhand der Arbeitslast Backend-Worker-Anwendungen zuweist. Worker-Anwendungen koennen CGI, FastCGI, Web Server (Proxy), Servlet-Engine oder LSAPI-Anwendungen sein. Verschiedene Anwendungstypen koennen unter einem Load Balancer gemischt werden. Load Balancer und Piped Logger koennen nicht als Worker-Anwendungen verwendet werden.
- Ein Piped Logger ist eine Anwendung, die Zugriffsprotokolle in Echtzeit verarbeiten kann, zum Beispiel indem sie ein Zugriffsprotokoll in eine Datenbank schreibt oder Echtzeit-Statistikberechnungen durchfuehrt.

Anders als CGI-Anwendungen werden FastCGI-Anwendungen, LSAPI-Anwendungen und Servlet-Engines nach der Verarbeitung einer Anfrage nicht beendet. Der Anwendungsprozess bleibt bestehen und verarbeitet so viele Anfragen wie moeglich. Auch die Socket-Verbindung kann fuer mehrere Anfragen wiederverwendet werden.
Externe Anwendungen koennen im Abschnitt Externe Anwendungen eingerichtet werden. Externe Anwendungen koennen jedoch nicht allein funktionieren. Zusaetzliche Einstellungen muessen konfiguriert werden, damit der Webserver weiss, welche Anfragen an welche Anwendung gesendet werden. In LiteSpeed Web Server gibt es zwei Moeglichkeiten, dies zu konfigurieren:

1. Die externe Anwendung als Handler fuer einen bestimmten Kontext festlegen.
2. Die externe Anwendung ueber eine Dateisuffix-Bindung als Handler einer Skriptsprache festlegen.

FastCGI-Anwendungen, LSAPI-Anwendungen, Web Servers (Proxy), Servlet-Engines und Load Balancer muessen im Abschnitt Externe Anwendungen definiert werden, bevor sie fuer einen Kontext oder ein Skriptsuffix konfiguriert werden koennen. Es ist nicht erforderlich, CGI-Anwendungen im Abschnitt Externe Anwendungen zu definieren.
Externe Anwendungen koennen auf Serverebene oder auf Virtual-Host-Ebene konfiguriert werden. Bei Konfiguration auf Serverebene kann die Anwendung von allen virtuellen Hosts verwendet werden. Bei Konfiguration auf Virtual-Host-Ebene kann sie nur von diesem virtuellen Host verwendet werden.

### Typ

#### Beschreibung

Gibt den Typ der externen Anwendung an. Anwendungstypen unterscheiden sich nach dem Dienst, den sie bereitstellen, oder nach dem Protokoll, mit dem sie mit dem Server kommunizieren. Waehlen Sie aus

- LiteSpeed SAPI App: eine Anwendung, die ueber das LSAPI-Protokoll mit dem Webserver kommuniziert.
- Web Server (Proxy): ein Webserver oder Anwendungsserver, der das HTTP-Protokoll unterstuetzt.
- FastCGI App: eine FastCGI-Anwendung mit einer Responder-Rolle.
- FastCGI Authorizer: eine FastCGI-Anwendung mit einer Authorizer-Rolle
- SCGI App: eine Anwendung, die ueber das SCGI-Protokoll mit dem Webserver kommuniziert.
- Servlet Engine: eine Servlet-Engine mit AJPv13-Connector, z. B. Tomcat.
- Piped Logger: eine Anwendung, die ueber ihren STDIN-Stream empfangene Zugriffsprotokolleintraege verarbeiten kann.
- Load Balancer: eine virtuelle Anwendung, die Last auf Worker-Anwendungen verteilen kann.
- uWSGI: eine Anwendung, die ueber das uWSGI-Protokoll mit dem Webserver kommuniziert.<.

#### Syntax

Aus Dropdown-Liste auswählen

#### Tipps

Information Die meisten Anwendungen verwenden entweder das LSAPI- oder das FastCGI-Protokoll. LSAPI unterstuetzt PHP, Ruby und Python. Perl kann mit FastCGI verwendet werden. (PHP, Ruby und Python koennen ebenfalls fuer FastCGI eingerichtet werden, laufen mit LSAPI aber schneller.) Java verwendet Servlet-Engines.