2017-02-24 22 views
2

嘿加載CSS文件,的Nginx服務器無法從框架結構

我是新的。我的HTML文件顯示,但我的服務器不加載CSS文件。

我發現的唯一的東西是這條線 include /etc/nginx/mime.types; 我將其包含在http塊中。

之後我重新加載我的配置sudo nginx -s reload。爲了確保我也執行了sudo nginx -s stopsudo nginx

這是我的整個配置:

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

     location/{ 
      root /data/www; 
     } 

     location ~ \.(gif|jpg|png)$ { 
      root /data/www/images; 
     } 
    } 
} 

events {} 

我的骨架文件位於/數據/ WWW。在這個目錄中還有另一個CSS文件夾。

預先感謝您。

+1

你可以尾你的日誌? (通常是/var/log/nginx/access.log和默認情況下的error.log) –

+0

你對css文件夾有適當的權限嗎? – Ibu

+0

我對css文件夾的權限是:drwxr-xr-x 2 root root 4096 Feb 5 04:04 css。 – schosch

回答

3

首先,你需要告訴NGINX你的靜態文件通過expire頭獲得TTL(生存時間)。在你的NGINX配置文件中找到它,如果它不存在。創建location

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { 
    expires 1s; 
} 

一個新指令在此之後繼續前進,從服務器上清除您的文件,並迫使它成爲新的文件。

  • 的sendfile掀起nginx.conf
  • 設置在mysite.conf
  • 精確設置Cache-Control頭期滿1S:add_header Cache-Control no-cache;

當然,以上做任何事情之前。如果不需要採取嚴格措施,請嘗試手動刪除緩存文件夾中的所有內容:/var/cache/nginx

如果這樣做無濟於事,請繼續處理此處列出的所有內容!


在成功清除服務器上的靜態文件後,將其添加到您的NGINX服務器模塊以實現優化。

gzip    on; 
gzip_comp_level 2; 
gzip_min_length 1000; 
gzip_proxied  expired no-cache no-store private auth; 
gzip_types  text/plain application/x-javascript text/xml text/css application/xml; 

可以爲不改變並定期提供的文件設置過期標題。

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { 
    expires 365d; 
} 
+0

謝謝你的幫助:)我會嘗試你的指示:) – schosch