2016-06-22 7 views
1

Ich habe eine 404 nicht gefunden mit Nginx/1.8.0 im unteren Bildschirmrand, wenn meine IP-Adresse in einem Browser ausgeführt. Ich weiß, dass dies eine häufig gestellte Frage ist, da ich mehrere Beiträge zu diesem Thema gesehen habe, und ich habe die letzten 4-5 Stunden damit verbracht, diese Beiträge durchzusehen, aber aus irgendeinem Grund konnte ich dieses Problem immer noch nicht beheben. Jetzt weiß ich, dass die Datei nginx.conf bearbeitet werden muss, um den richtigen Pfad der HTML-Datei zu reflektieren. Dies ist, wie meine nginx.conf Datei wie auf Standard sah:404 nicht gefunden bei der Verwendung von Nginx Web Server

worker_processes 2; 

pid  logs/nginx.pid; 
error_log syslog:server=unix:/dev/log,facility=local7,tag=nginx,severity=error; 

events { 
worker_connections 1024; 
} 


http { 
include  mime.types; 
default_type application/octet-stream; 

access_log syslog:server=unix:/dev/log,facility=local7,tag=nginx,severity=info combined; 

sendfile  on; 
keepalive_timeout 65; 


server { 
    listen  80; 
    server_name localhost; 

    location/{ 
    root html; 

    index index.html index.htm; 
     autoindex on; 
    } 

    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root html; 
    } 
} 
} 

So, nachdem in der Conf-Datei suchen, erkannte ich, dass die root /path/ könnte das Problem verursachen. Also, was ich getan habe, ging ich zu meiner index.html Datei im Verzeichnis und lief pwd darauf und ersetzte den Pfad mit diesem PWD-Wert. Ich fuhr dann fort, Nginx zu bauen/zu machen, und ich begann auch nginx. Dies führt jedoch immer noch zu einem 404 Not Found-Fehler, so dass ich nicht sicher bin, ob ich die Bedeutung von root falsch interpretiere oder ob es ein anderes Problem gibt. Ich bin mir auch bewusst, dass es ein Problem beim Umschalten von Apache auf Nginx geben könnte, und dass dies zu einem 404 Not Found Fehler führen könnte, wenn nicht richtig behandelt, obwohl ich nicht viele Informationen bekommen konnte und wie man das wirklich anwenden kann zu meiner Situation oder nicht. Kann mir jemand in die richtige Richtung zeigen, wie ich dieses Problem beheben kann? Ich habe Nginx auf Ubuntu durch Sourcing kompiliert (nicht indem ich sudo apt-get install anrufe), weil das genau das ist, was ich angewiesen wurde. Ich weiß, dass Nginx läuft, da, wenn ich sage, es zu stoppen, gibt es eine "Konnte nicht verbinden: Firefox kann keine Verbindung zum Server bei ... herstellen", ich bin nur auf dieses seltsame Problem fest.

Bitte lassen Sie mich wissen, wenn unzureichende Informationen zur Verfügung gestellt wurden, und wenn ja, welche Informationen sollte ich hinzufügen, um den Beitrag klarer zu machen! Vielen Dank!

+0

Haben Sie versucht, 'html' in' location/{root html; ... 'mit einem Pfad zu dem Verzeichnis, in dem Ihre' index.html' Datei vorhanden ist (zB: '/ home/user/Documents/MyProject')? –

+0

Ja, so dass ich es tat, ging ich zu meiner index.html Datei im Verzeichnis und rannte pwd darauf und ersetzte den alten Pfad durch diesen pwd Wert. Im Grunde sieht es aus wie 'location/{root/home/parallels/Desktop/MeinProjekt/nginx/html;' – trynacode

+0

Auch ich weiß nicht, ob dies bearbeitet werden soll, aber es gibt eine Datei namens nginx.conf.default, die einfach aussieht wie nginx.conf. Der einzige Unterschied ist, dass jedes Mal, wenn ich nginx/nginx aufbaue, dieser nginx.conf.default auf seine Standardwerte zurückgeht (selbst wenn ich den Pfad ändere, wenn ich die neue Binärdatei erstellen und nginx erstellen möchte, gehen meine Änderungen weg). Denkst du, ich sollte mehr Zeit damit verbringen, mich auf diese nginx.conf.default-Datei zu konzentrieren und dort Änderungen vorzunehmen? – trynacode

Antwort

1

Stellen Sie sicher, Ihre nginx.conf Datei etwas sieht wie unten dargestellt:

worker_processes 1; 

events { 
    worker_connections 1024; 
} 


http { 
    include  mime.types; 
    default_type application/octet-stream; 
    sendfile  on; 
    keepalive_timeout 65; 

    #gzip on; 

    server { 
     listen  80; 
     server_name localhost; 

     location/{ 
      root /home/user_name/Documents/your_proj; # You need to provide here the path of your "index.html" file 
      index index.html index.htm; 
     } 
} 

Sie eine index.html oder index.htm Datei unter Ihrem Verzeichnis wie /home/user_name/Documents/your_proj in obigen Konfiguration gezeigt haben.

+0

Hmm, siehe Ich habe etwas ähnliches darin, dass meine index.html in dem Pfad ist, den ich neben "root" angegeben habe. Wenn es darauf ankommt, verwende ich einen absoluten Pfad, keinen relativen Pfad. Könnte der 'server_name' einen Unterschied machen? Mines sagt nur localhost, was ich nicht genau weiß. – trynacode

+0

Ja, es gibt einen '127.0.0.1 localhost'. Ich bin nur so verwirrt, warum dieser Fehler sich zeigt ... es muss etwas wirklich dummes sein, aber ich kann es nicht finden. – trynacode

+0

Ich verwende gerade eine HTML-Datei. Ich musste FAST CGI mit nginx erstellen, aber gerade jetzt habe ich Probleme, nginx korrekt auszuführen, also habe ich noch nicht den FAST CGI Teil angeschaut. – trynacode