2016-11-15 3 views
0

Ich habe Probleme beim Hosten meines Django-Projekts auf Amazon EC2. Mit Gunicorn und Nginx der Website hosten, ich die folgenden Fehlermeldung erhalten, wenn ich meine Seite in dem Browser (Auszug aus der Javascript-Konsole) laden:HTTP 504 Gateway Time-out beim Servieren einer statischen Datei mit Django (Nginx + Gunicorn)

Failed to load resource: the server responded with a status of 504 (Gateway Time-out): https://example.com/favicon.ico 

Ich glaube, Nginx einige Probleme zu finden, meine statischen Dateien hat, aber ich bin mir nicht sicher warum. Hier ist meine Nginx config:

server { 
    listen 443 default; 
    client_max_body_size 100M; 
    server_name www.example.com; 

    keepalive_timeout 5; 

    ssl on; 
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; 

    # the domain name it will serve for 
    charset  utf-8; 

    # path for static files 
    root /opt/app/staticfiles; 

    location /static { 
     root /opt/app/staticfiles; 
    } 

    location/{ 
     # checks for static file, if not found proxy to app 
     try_files $uri @proxy_to_app; 
    } 

    location @proxy_to_app { 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 

     proxy_pass http://app_server; 
    } 

} 

/var/log/nginx/access.log und Katze /var/log/nginx/error.log nichts zeigen kann.

Für HTTP-Code 504 ist es normalerweise ein Problem, dass eine lange Anfrage hängt und schließlich ausläuft, aber ich bin nicht sicher, wie es für mein Projekt gilt, da ich nur versuche, die Website zu laden.

Nicht sicher, wie dieses Problem zu debuggen, so dass jede Hilfe geschätzt wird!

Antwort

0

Dies kann Ihnen helfen:

Was ich getan habe ist, ich /etc/nginx/site-enabled/default Datei bearbeitet haben, wie folgt:

server { 
     #nginx server configuration 
     listen 80 default_server; 
#  listen [::] default_server ipv6only=on; 
     listen [::]:80 default_server ipv6only=on; 

     root /usr/share/nginx/html; 
     index index.html index.htm; 

     # Make site accessible from http://localhost/ 
#  server_name localhost; 
     # provide whole path of static files you got after running `python manage.py collectstatics` 
     location /static{ 
       alias /home/ubuntu/folder1/folder2/webpage/static; 
     } 

     location/{ 
       # First attempt to serve request as file, then 
       # as directory, then fall back to displaying a 404. 
       proxy_pass http://0.0.0.0:8134;#Provide your django server's link 
       # Uncomment to enable naxsi on this location 
       # include /etc/nginx/naxsi.rules 
     } 
} 

Hinweis: - Stellen Sie sicher, dass Sie python manage.py collectstatics getan haben. Nehmen Sie keine Änderungen in der nginx.conf-Datei

vor
Verwandte Themen