无法在Nginx中提供CSS

时间:2016-01-20 12:13:03

标签: html css nginx

我有一个/dist文件夹,它是在npm install之后构建的(Angular)。 我将此文件夹放在/usr/share/nginx/html/中。所以我使用Nginx来托管。

我的nginx.conf看起来像这样:

events { worker_connections 1024; }    

http {   
        upstream node-app {
              least_conn;
              server nodejs:8888 weight=10 max_fails=3 fail_timeout=30s;

        }

        server {
              listen 80;

              location / {
                alias /usr/share/nginx/html/dist/;
                index index.html;
              }

              location /api {
                proxy_pass http://node-app;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
              }
        }
}

API正在运行。看起来很好。但在我的浏览器中,我只能看到我的HTML和我的图像。但我无法看到我的CSS。 虽然我的网络告诉我:

main.css此请求无法预览。但是GET正常运行并返回200.

但是当我点击两次时,我会得到一个带有css代码的新标签。

CSS位于我的/dist/assets/css/main.css

当我不使用nginx.conf时,我只将dist文件夹放在

/usr/share/nginx/html/ 

,没有别的。我能够在html上看到执行的css。

2 个答案:

答案 0 :(得分:0)

只需将location块更改为以下内容:

root /usr/share/nginx/html/dist;

location / {
     index index.html;
}

(请注意,我们还将root块移到location块之上,以便随处可用

答案 1 :(得分:0)

这意味着在文件mime.types中写入的任何内容都被解释为它是在http {}块内写的。

http {
        include /etc/nginx/mime.types;
...