2015-04-03 96 views
4

我的nginx服务器提供了一个index.html文件,它加载了一个css文件和一些js文件。加载CSS文件(NO 404),但样式不出现。Nginx发现css,但没有加载到index.html

文件夹:

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

声音和图像通过js文件加载完美地工作。

的/ etc/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> 

,如果我去为localhost:8080它给我的索引页,但没有任何造型和开发工具不会显示任何错误。

感谢您的帮助!

编辑

整个事情是一个泊坞窗容器..现在我每次浏览到本地主机:8080 nginx的死亡。错误日志是某种不可访问..

回答

4

我有一个类似的问题,并通过确保在我的nginx.conf的http块加载正确mime.types映射解决它:

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

我有同样的问题,相同的解决方案。请注意,如果要保持类型明确,或者不想依赖mime.types文件,只需将该文件中的类型收集到.conf中的“types {}”块中即可。 – stolli 2015-08-14 22:31:52

+0

如果它在'http'块中不起作用,请尝试在'server'块中加载MIME类型。 – 2017-03-22 23:54:32

+0

它只是通过放入http块来为我工作。我还必须记住做一个Ctrl +重新加载才能生效。谢谢。 – yngwietiger 2017-08-08 12:03:36

0

尝试添加@charset“ UTF-8" ;

在css文件的顶部 它为我工作。希望它适合你