Zum Inhalt springen

Nginx/Problembehebung: Unterschied zwischen den Versionen

Aus Foxwiki
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
  1. prep(1)


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