2015-04-03 3 views
4

my nginx server служит для файла index.html, который загружает файл css и некоторые js-файлы. загружается файл css (NO 404), но стиль не отображается.Nginx находит css, но не загружает его в index.html

папки:

/src 
    /assets 
     /images 
      ... 
     /sounds 
      ... 
    /css 
     /style.css 
    /js 
     ... 
    index.html 

звука и изображения, загруженные в JS файлы работают отлично.

/и т.д./Nginx/сайты с поддержкой/по умолчанию /:

server { 
    listen 8080; 
    server_name jumpnrun jumpnrun.vm; 
    access_log /var/log/nginx/jumpnrun.access.log; 
    error_log /var/log/nginx/jumpnrun.error.log; 

    location/{ 
    try_files $uri $uri/index.html; 
    } 

    location ~ ^/(assets/|css/|js/|index.html) { 
    root /src; 
    index index.html; 
    access_log off; 
    } 

    location /socket.io { 
    add_header Access-Control-Allow-Origin *; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host; 
    proxy_http_version 1.1; 
    proxy_pass http://node-server; 
    } 

} 

index.html:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>Jump n' Run</title> 
     <link href="css/style.css" type="text/css" rel="stylesheet" /> 
    </head> 
    <body> 
     <canvas id="game" width='1000' height='500'></canvas> 
     <button class="sound"></button> 
    </body> 
    <!-- JS --> 
</html> 

если я иду на локальный хост: 8080 это дает мне индексную страницу, но без какого-либо стиль и инструменты dev не показывают мне никаких ошибок.

благодарит за вашу помощь!

EDIT:

Все это в Докер контейнере .. Теперь каждый раз, когда я просматриваю на локальный хост: 8080 Nginx умирает. Журнал ошибок как-то не доступен ..

ответ

4

У меня была аналогичная проблема, и решить ее, убедившись, что http блок в моей nginx.conf загружал соответствующие mime.types отображения:

http { 
    include /etc/nginx/mime.types; 
} 
+1

У меня была такая же проблема, такое же решение. Обратите внимание: если вы хотите, чтобы ваши типы были явными или не хотели полагаться на файл mime.types, вы можете просто собирать типы из этого файла в блок «types {}» в вашем .conf. – stolli

+0

Если он не работает в блоке 'http', попробуйте загрузить типы mime в блоках' server'. –

+0

Это сработало для меня, просто положив в блок http. Я также должен был помнить, чтобы сделать Ctrl + Reload, чтобы он вступил в силу. Благодарю. – yngwietiger

0

попробуйте добавить @charset " UTF-8" ;

наверху css file это сработало для меня. надеюсь, что это сработает для вас

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