2014-12-02 3 views
0

Сначала я хочу заявить, что у меня есть прочитанные и проверенные решения из всех вопросов SO, которые я нашел по этому вопросу.
Ничего не помогло, но и моя проблема сильно отличается от обычной.Nginx только частично обслуживает статические файлы для приложения django

У меня есть проект django, который я установил на своем компьютере-разработчике, где он работает (либо на сервере-сервере, либо на пулеметном), что означает, что обслуживаются статические файлы.
Стоит отметить, что я недавно из-за проблем с оборудованием перенесла мою среду разработки в новую систему (вынос здесь заключается в том, что я недавно установил этот проект).

Когда я пытаюсь установить его на другой системе (свежей установки Ubuntu 13.10, для которого был написан мой сценарий установки) я испытать эту странную проблему, не все статические файлы обслуживаются Nginx.
«Не все» означает, что некоторые из файлов css обслуживаются, некоторые - нет; то же самое происходит и для js.

И да, все файлы находятся в одном и том же статическом каталоге, и да, все они на самом деле там. Кроме того, это, вероятно, не проблема с конфигурацией, поскольку в обоих случаях (моя машина-разработчик, где все работает нормально, а это тестовое, где нет) есть точная конфигурация. Также права на файлы все одинаковы. В журналах nginx ничего нет.

Это должно быть что-то очень глупое, но экзотическое, или я не знаю ... вуду? Я имею в виду, я бы справился, если nginx ничего не принесет - это будет, очевидно, некоторая ошибка, но как получится, что один файл обслуживается, а другой из того же самого места нет? Также возможно, что одна и та же настройка обслуживает все файлы в одной системе, а только несколько с другой?

У меня не было никаких конфигураций и таких здесь, поскольку, как я сказал выше, я не думаю, что они здесь выдаются; однако, если кто-то чувствует потребность убедить себя, что он хочет опубликовать его, просто скажите слово.

Заранее спасибо, ребята, и я прошу помощи, им отчаянно и не стыдно за это.
Прошло три дня, уже и срок не денется ...

Мой /etc/nginx/nginx.conf (в основном по умолчанию один): конфиг

user www-data;                 
worker_processes 4;                
pid /run/nginx.pid;                

events {                   
    worker_connections 768;             
    # multi_accept on;              
}                    

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;         

    ##                  
    # 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/x-javascript text/xmlapplication/xml applicatio 

    ##                  
    # nginx-naxsi config              
    ##                  
    # Uncomment it if you installed nginx-naxsi        
    ##                  

    #include /etc/nginx/naxsi_core.rules; 

    ##                  
    # nginx-passenger config             
    ##                  
    # Uncomment it if you installed nginx-passenger       
    ##                  

    #passenger_root /usr;             
    #passenger_ruby /usr/bin/ruby;           

    ##                  
    # Virtual Host Configs             
    ##                  

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


#mail {                   
#  # See sample authentication script at:         
#  # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript    
#                    
#  # auth_http localhost/auth.php;           
#  # pop3_capabilities "TOP" "USER";          
#  # imap_capabilities "IMAP4rev1" "UIDPLUS";        
#                    
#  server {                 
#    listen  localhost:110;          
#    protocol pop3;             
#    proxy  on;             
#  }                  
#                    
#  server {                 
#    listen  localhost:143;          
#    protocol imap;             
#    proxy  on;             
#  }                  
#}   

сайта от сайтов с включенной поддержкой:

server {                   
listen 80;                 
server_name webapp.org;              

access_log /var/log/nginx_access.log;          
error_log /var/log/nginx_error.log;           

location /static {               
    root /home/myuser/app;             
}                   

location /sse {                
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
    proxy_set_header Host $http_host;          
    proxy_redirect off;              
    proxy_buffering off;              
    proxy_next_upstream error;            
    proxy_read_timeout 600;             

    proxy_pass http://127.0.0.1:8888;          
}                   

location /pacs {                
    proxy_pass http://127.0.0.1:8080/;          
}                   

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

    proxy_pass http://127.0.0.1:8888;          
}                   
}         
+0

Два вопроса. 1) Что вы подразумеваете под «не подаются»? Что возвращает nginx при запросе на этот файл? 2) Что вы подразумеваете под «в журналах nginx ничего нет»? Ничего? – dukebody

+0

И да, размещение вашей конфигурации и журналов nginx (если они есть), несомненно, поможет людям понять, что может происходить. – dukebody

+0

1) Он возвращает 404 2) ничего вообще ... – 4rlekin

ответ

1

Вы получаете доступ непосредственно Dev сервер Джанго, который подают некоторые из ваших статических файлов. Вы, возможно, оставили некоторые из них позади, если они не проверяются в системе контроля версий, я не знаю ...

Во всяком случае, вы должны получить доступ к Nginx, т.е. введите в адресной строке:

http://your.server.com 

и не

http://your.server.com:8888 

Таким образом, вы должны начать видеть что-то в журналах доступа Nginx.

Кроме того, помните, работает collectstatic: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#django-admin-collectstatic

+0

Большое вам спасибо за терпение и помощь! – 4rlekin

Смежные вопросы