Nginx: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
'''{{BASEPAGENAME}}''' - Beschreibung | |||
== Beschreibung == | |||
== Installation == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
== Aufruf == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
=== Optionen === | |||
{| class="wikitable sortable options gnu big" | |||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| || || || | |||
|- | |||
|} | |||
=== Parameter === | |||
=== Umgebungsvariablen === | |||
=== Exit-Status === | |||
{| class="wikitable options col1center big" | |||
|- | |||
! Wert !! Beschreibung | |||
|- | |||
| 0 || Erfolg | |||
|- | |||
| >0 || Fehler | |||
|} | |||
== Anwendung == | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
< /syntaxhighlight> | |||
=== Problembehebung === | |||
== Konfiguration == | |||
=== Dateien === | |||
{| class="wikitable options big" | |||
|- | |||
! Datei !! Beschreibung | |||
|- | |||
| || | |||
|- | |||
| || | |||
|} | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Dokumentation === | |||
; Man-Page | |||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | |||
<!-- | |||
; Info-Pages | |||
--> | |||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
{{DEFAULTSORT:new}} | |||
{{DISPLAYTITLE:new}} | |||
[[Kategorie:new]] | |||
</noinclude> | |||
= TMP = | |||
[https://nginx.org nginx] {en} (gesprochen „engine x”) ist ein Webserver, der im Vergleich zu [:Apache:] (oder auch [wikipedia:Microsoft_Internet_Information_Services:IIS]) weniger Resourcen verbraucht und schnell ist | [https://nginx.org nginx] {en} (gesprochen „engine x”) ist ein Webserver, der im Vergleich zu [:Apache:] (oder auch [wikipedia:Microsoft_Internet_Information_Services:IIS]) weniger Resourcen verbraucht und schnell ist | ||
* Aufgrund seiner eingebauten [wikipedia:Reverse_Proxy:Reverse-Proxy Funktionalität] wird nginx auch gerne als vorgeschalteter Webserver für dahinter liegende Applikationsserver genutzt | * Aufgrund seiner eingebauten [wikipedia:Reverse_Proxy:Reverse-Proxy Funktionalität] wird nginx auch gerne als vorgeschalteter Webserver für dahinter liegende Applikationsserver genutzt |
Version vom 11. Oktober 2025, 10:28 Uhr
Nginx - Beschreibung
Beschreibung
Installation
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Aufruf
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
<syntaxhighlight lang="bash" highlight="1" line copy> < /syntaxhighlight>
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks
TMP
nginx {en} (gesprochen „engine x”) ist ein Webserver, der im Vergleich zu [:Apache:] (oder auch [wikipedia:Microsoft_Internet_Information_Services:IIS]) weniger Resourcen verbraucht und schnell ist
- Aufgrund seiner eingebauten [wikipedia:Reverse_Proxy:Reverse-Proxy Funktionalität] wird nginx auch gerne als vorgeschalteter Webserver für dahinter liegende Applikationsserver genutzt
nginx wird laut w3techs.com Statistik {en} von ca. 40% aller Websites genutzt (Stand: September 2017)
- Damit ist nginx der am zweithäufigsten eingesetzte Webserver
Neben der freien Version von nginx, welche auch unter eine freien Lizenz {en} steht, gibt es auch eine kostenpflichtige Variante namens nginx Plus {en}, für den die Firma nginx Inc. zusätzlichen Support und Module anbietet
Installation
sudo apt install nginx
Steuerung von nginx
Nginx bildet sich aus einem „Master”-Prozess und vielen „Slave”- bzw. „Client”-Prozessen
- Man steuert nginx mit dem Master-Prozess, den man mit dem Befehl `nginx` anspricht
- Dies geht nach folgendem Prinzip:
{{{#!vorlage Befehl nginx [-s signal] [-c filename] [-p prefix] [-g directives] }}}
Falls eine andere Konfigurationsdatei als /etc/nginx/nginx.conf, z. B. zu Testzwecken, verwendet werden soll, startet man nginx folgendermaßen:
{{{#!vorlage Befehl sudo nginx -c /pfad/der/konfigurationsdatei }}}
Nützlich ist auch die Option `-t`, welche die Konfiguration von nginx testet
- Nach jeder Änderung eine Konfigurationsdatei sollte man von daher
{{{#!vorlage Befehl sudo nginx -t }}}
aufrufen und schauen, ob Fehler in einer der Konfigurationsdateien vorliegen
- Wenn nicht, kann die Konfiguration neu eingelesen werden, so dass diese aktiv wird:
{{{#!vorlage Befehl sudo nginx -s reload }}}
Bei der Installation aus den Paketquellen wird nginx beim Systemstart über eine [:systemd:] Service Unit automatisch gestartet, welche über [:systemd/systemctl:systemctl] kontrolliert werden kann
Sicherheit
Man stelle sich vor, ein Hacker würde eine Datei via PHP/Perl/Python in das Verzeichnis /uploads/ hochladen
- Diese Datei ist mit Schadcode infiziert und würde bei der Ausführung dem Server schaden
- Wenn jetzt aber die Ausführung der Datei nicht verboten wird, könnte der Hacker seinen Angriff starten
- Um das zu verhindern, fügt man in den `server { [...] }`-Block folgendes ein:
{{{ if ($uri !~ "^/uploads/") {
fastcgi_pass 127.0.0.1:9000;
} }}}
Dies löst aus, dass alle Dateien, die sonst über die FastCGI-Schnittstelle an Port 9000 laufen würden, in allen Ordnern mit dem Namen uploads nicht mehr ausgeführt werden
nginx mit anderen Programmiersprachen
Die Nutzung von nginx in Kombination mit [:PHP:] ist im Artikel [:nginx/PHP:] beschrieben, die in Kombination mit [:Perl:] im Artikel [:nginx/Perl:]
Links
* nginx Wiki {en} - Dokumentation * nginx Docs {en} - Dokumentation für nginx Plus, welche aber auch in weiten Teil für die freie Variante von nginx zutrifft * Quellcode Repositry {en} von nginx bei Mercurial * Sichere SSL/TLS Konfiguration mit Nginx {de} - Ausführliche Anleitung * Hosting Websites with Nginx {en} - Weiterführende Konfiguration * Certificate Pinning mit Nginx {de} - Artikel zum "Public Key Pinning for HTTP" (RFC 7469) * VHOST example {en} - für das Heim-Netzwerk
- tag: Netzwerk, Internet, Server