2017-08-10 4 views
1

Im mit Django 1.11.
Ich habe alles auf dem Server eingerichtet und meine Website funktioniert einwandfrei, das Problem sind statische Dateien. Ich sehe Django Admin Panel ohne css oder js.
Einsatz von Django mit Nginx

meine Einstellungen in settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 

i collectstatic laufen und ich habe sie in home/user/myproj/static

hier ist meine nginx.conf Datei:

server{ 
    listen 8000; 
    server_name my ip 
    access_log /var/log/nginx/example.log; 

    location /static { 
     root home/user/myproj; 
    } 
} 

prüfe ich auch django-static-file-and-nginx und django-serving-static-files-through-nginx, und versuchte 1000 mal. es lädt immer noch ohne CSS. kann mir jemand helfen?

hier ist meine volle nginx.conf Datei:

user www-data; 
worker_processes auto; 
pid /run/nginx.pid; 
include /etc/nginx/modules-enabled/*.conf; 

events { 
     worker_connections 768; 
     # multi_accept on; 
} 

server { 
    listen 8000; 
    server_name my ip 
    access_log /var/log/nginx/example.log; 

    location /static/ { 
      root /home/user/myproj/static; 
    } 
} 
http { 

    ## 
    # Basic Settings 
    ## 

    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 
    # server_tokens off; 

    # server_names_hash_bucket_size 64; 
    # server_name_in_redirect off; 

    include /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    ## 
    # SSL Settings 
    ## 

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE 
    ssl_prefer_server_ciphers on; 

    ## 
    # Logging Settings 
    ## 

    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 

    ## 
    # Gzip Settings 
    ## 

    gzip on; 
    gzip_disable "msie6"; 

    # gzip_vary on; 
    # gzip_proxied any; 
    # gzip_comp_level 6; 
    # gzip_buffers 16 8k; 
    # gzip_http_version 1.1; 
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; 

    ## 
    # Virtual Host Configs 
    ## 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 
+0

Was sagt der Nginx-Zugriff und Fehlerprotokolle, wenn Sie eine statische Datei anfordern? – dahrens

Antwort

1

Änderung Ihrer nginx.conf wie unten:

location /static/ { 
    root /home/user/myproj/static; 
} 

Nginx wird Antrag der Route Client /static/ auf statische Dateien dienen, in denen gleiche wie STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Hinweis: Die URL sollte /yoururl/ und Standort sein sollte absolut wie /home/user/proj/static

sein
+0

es funktioniert nicht ... ich benutze auch 'alias' für location ... nichts !!!! –

+0

@ mehrdad-pedramfar laden Sie Ihre vollständige nginx.conf-Datei, um Ihnen zu helfen :) – Beomi

+0

Ich habe meine Frage bearbeitet und vollständige Konfiguration hinzugefügt –

Verwandte Themen