2016-12-06 5 views
1

Ich versuche, ein Python-Server über Port 8080 zu installieren und mit nginx Proxy von Port 80 zu 8080.Python und Nginx Ausgabe

Im Moment habe ich

python -m SimpleHTTPServer 8080 

Laufen, aber für einige Warum kann ich Nginx nicht dazu bringen, es zu übernehmen? Ich bekomme immer einen "404 Not Found" -Fehler. (nginx/1.10.2) Hier ist die Konfiguration, die ich auf Nginx habe.

server { 
listen  80; 
server_name localhost; 

#charset koi8-r; 
#access_log /var/log/nginx/log/host.access.log main; 

location /static/ { 
# root /usr/share/nginx/html; 
    root /home/ec2-user; 
    index index.html index.htm; 
    proxy_pass http://localhost:8080; 
} 

#error_page 404    /404.html; 

# redirect server error pages to the static page /50x.html 
# 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
    root /usr/share/nginx/html; 
} 

Danke

+0

404 für das, was? Du gibst '/ static' nur an deine App weiter. – jordanm

+0

Im Versuch, eine HTML-Datei und eine Python .py-Datei – Devon

+0

zu übergeben, die so klar wie Schlamm ist – jordanm

Antwort

1

Sie benötigen die index Richtlinie in Ihrem location Block entfernen: für einen Index nginx Blick, bevor die proxy_pass geschieht

server { 
listen  80; 
server_name localhost; 

#charset koi8-r; 
#access_log /var/log/nginx/log/host.access.log main; 

location /static/ { 
# root /usr/share/nginx/html; 
    root /home/ec2-user; 
    # index index.html index.htm; # It is looking for an index 
    proxy_pass http://localhost:8080; 
} 

#error_page 404    /404.html; 

# redirect server error pages to the static page /50x.html 
# 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
    root /usr/share/nginx/html; 
} 

Die index macht. Wenn Sie es kommentieren oder entfernen, wird das Problem behoben.

Auch die root wird nicht benötigt. Nur soviel tatsächlich:

locatioin /static/ { 
    proxy_pass http://localhost:8080/ 
} 
+0

Können Sie Ihre Frage mit dem Python-Code aktualisieren? Denken Sie daran, dass "proxy_pass" '/ static' an Ihre Anwendung sendet. Denken Sie also daran, dass Sie auf diesen URI antworten müssen. – varlogtim

+0

Ich habe die von Ihnen erwähnten Anpassungen vorgenommen. Der Python-Webserver conf ist korrekt, aber wenn ich versuche, ihn zu proxy, bekomme ich immer noch den Fehler 404 Not Found ... – Devon

+0

Der Python-Code ist nur ein .py-Skript, um den Python-Webserver auf Port 80 zu starten, um "Hello World ". – Devon