Nginx/Problembehebung: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Problembehebung == Bild(Wiki/Icons/hint.png, 64, align=right) Siehe auch [https://wiki.nginx.org/Pitfalls Nginx Pitfalls] {en} (sinngemäß: typische Fehler) === Bei allen PHP-Dateien wird nur "No input file specified" angezeigt === Dies ist ein üblicher Fehler, der aber schnell behoben werden kann * Es gibt zwei hauptsächliche Ursachen: ==== Ursache 1 ==== Folgende Konfiguration wird für PHP-Dateien benutzt: {{{ location ~ \.php$ { fa…“ |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
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 = | |||
== Problembehebung == | == Problembehebung == | ||
[[Bild(Wiki/Icons/hint.png, 64, align=right)]] | [[Bild(Wiki/Icons/hint.png, 64, align=right)]] | ||
Zeile 77: | Zeile 157: | ||
Eventuell sollen beide Schnittstellen den selben Port verwenden | Eventuell sollen beide Schnittstellen den selben Port verwenden | ||
* Allerdings kann sich jeweils nur eine Schnittstelle an einen Port binden | * Allerdings kann sich jeweils nur eine Schnittstelle an einen Port binden | ||
[[Kategorie:Nginx]] |
Aktuelle Version vom 11. Oktober 2025, 10:52 Uhr
Nginx/Problembehebung - Beschreibung
Beschreibung
Installation
Aufruf
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
Wert | Beschreibung |
---|---|
0 | Erfolg |
>0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
Anhang
Siehe auch
Dokumentation
- Man-Page
Links
Projekt
Weblinks
TMP
Problembehebung
Bild(Wiki/Icons/hint.png, 64, align=right) Siehe auch Nginx Pitfalls {en} (sinngemäß: typische Fehler)
Bei allen PHP-Dateien wird nur "No input file specified" angezeigt
Dies ist ein üblicher Fehler, der aber schnell behoben werden kann
- Es gibt zwei hauptsächliche Ursachen:
Ursache 1
Folgende Konfiguration wird für PHP-Dateien benutzt: {{{ location ~ \.php$ {
fastcgi_pass localhost:9000; include fastcgi_params; # Statt fastcgi.conf
} }}} Da nur in der Datei fastcgi.conf spezifiziert ist, dass PHP-Dateien auch unabhängig von dem `document root`-Verzeichnis verarbeitet werden sollen, sollte man diese statt `fastcgi_params` verwenden
- Wer `fastcgi_params` trotzdem nutzen möchte, kann statt des Ersetzen folgende Zeile hinzufügen:
{{{
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}}}
Ursache 2
Folgende (vereinfachte) Konfiguration wird benutzt: {{{ location / {
root /var/www/html;
}
location ~ \.php$ {
fastcgi_pass localhost:9000; include fastcgi.conf;
} }}} Da die location `~ \.php$` eine andere als `/` ist, ist für die FastCGI-Schnittstelle unbekannt, wo das Wurzelverzeichnis für diesen `server { [...] }`-Block ist, weil dieses nur in `location /` festgelegt ist
- Folgende Konfiguration löst dieses Problem:
{{{ root /var/www/html; # 'root' wird nun global für den server { [...] }-Block festgelegt
location ~ \.php$ {
fastcgi_pass localhost:9000; include fastcgi.conf;
} }}}
nginx zeigt bei existierenden Dateien im Browser "403" an
Benutzerberechtigungen überprüfen! Diese Meldung kommt meistens, wenn nginx bzw
- der Benutzer, mit dem nginx läuft, keinen Zugriff auf die Dateien hat
Es erscheint auf allen Websites nur noch die Meldung "502 Bad Gateway"
Dies passiert, wenn die FastCGI-Schnittstelle oder die Adresse von `proxy_pass` nicht für nginx erreichbar ist (auf Servern kann dies mit [:Lynx:] überprüft werden)
- Gründe können z. B. ein Absturz der Schnittstelle sein
nginx verarbeitet keine .htaccess-Dateien
Das ist korrekt, da alle Änderungen bzw. Einstellungen in der Konfigurationsdatei nginx.conf vorgenommen werden
- Und Absicht - diverse Gründe, wieso es unter nginx keine htaccess-Dateien gibt, finden sich im FAQ von nginx {en} - kurz gesagt ist .htaccess ist ein Performancekiller und potentielle Sicherheitslücke
- Allerdings gibt es diverse Konverter {en} von htaccess zu nginx, um den Umstieg leicht zu machen
nginx startet nicht, da die Konfigurationsdatei angeblich falsch ist
Die Konfigurationsdatei überprüfen, ob überall am Ende jedes Befehls/jeder Zeile ein Semikolon steht, und, ob alle `server { [...] }`-Blöcke auch mit dem Zeichen "}" geschlossen sind!
Obwohl nginx richtig konfiguriert ist, passiert beim Aufrufen von Subdomains nichts
Bei diesem Problem wird vermutlich eine Fehlkonfiguration der DNS-Zonen vorliegen
Wieso bleibt nginx an der Meldung "[...]:80 failed (98: Address already in use)" hängen?
nginx oder ein anderer Webserver benutzt bereits den Port 80
- Es kann immer nur ein Programm an dem Port lauschen
Wieso kann Plesk nginx nicht konfigurieren?
Das liegt daran, dass [wikipedia:Plesk:] [:Apache:] nutzt und nicht auf nginx zugeschnitten ist
Die Log-Datei bleibt leer, warum?
Falls der Nutzer geändert wurde, mit dem nginx läuft, muss dieser über Schreibzugriff auf diese Datei verfügen
Weshalb läuft eine FastCGI-Schnittstelle, die andere aber nicht?
Eventuell sollen beide Schnittstellen den selben Port verwenden
- Allerdings kann sich jeweils nur eine Schnittstelle an einen Port binden