一、nginx靜態資源訪問完整配置
想要讓Nginx緩存靜態資源,首先需要進行Nginx配置。以下是Nginx靜態資源訪問完整配置的示例代碼:
location /static/ { root /data/www; expires 7d; }
該配置將被訪問的URL路徑設置為/static/,將靜態文件存儲在/data/www目錄下,過期時間為7天。需要注意的是,該配置僅適用於靜態資源文件,如CSS、JS、圖片等。對於動態資源文件,需要進行其他配置。
二、nginx資源靜態
Nginx可以將動態資源文件轉化為靜態資源文件,加快文件的讀取速度。以下是Nginx資源靜態的示例代碼:
location / { proxy_pass http://backend/; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 60m; proxy_cache_valid 404 1m; }
首先,訪問的URL路徑被設置為根路徑。然後,將動態資源傳輸給後端伺服器,將該資源的相關信息作為緩存鍵,將緩存保留為60分鐘,404錯誤的緩存保留為1分鐘。
三、nginx代理靜態資源
當Nginx作為代理伺服器時,可以代理靜態資源,以加快訪問速度。以下是Nginx代理靜態資源的示例代碼:
location /static/ { proxy_pass http://backend/static/; proxy_cache_bypass $http_pragma; proxy_cache_revalidate on; proxy_cache_min_uses 3; proxy_cache_valid 200 60m; }
該配置將/static/路徑下的靜態資源文件代理給後端伺服器,並設置了緩存刷新機制。當用戶使用Ctrl+F5刷新頁面時,Nginx會請求更新緩存。
四、nginx緩存靜態文件
為了進一步加快訪問速度,Nginx可以將靜態文件緩存到本地。以下是Nginx緩存靜態文件的示例代碼:
http { proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=static_cache:10m; server { location /static/ { proxy_pass http://backend/static/; proxy_cache static_cache; proxy_cache_valid 200 60m; } } }
首先,在http塊中設置Nginx的緩存路徑和緩存區域。然後,在server塊中配置緩存使用的區域和緩存的有效期。
五、nginx靜態資源跨域
有時候,靜態資源文件需要跨域使用,這時就需要配置Nginx進行跨域訪問。以下是Nginx靜態資源跨域的示例代碼:
location /static/ { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; proxy_pass http://backend/static/; }
在設置URL路徑後,配置Access-Control-Allow-Origin和Access-Control-Allow-Methods頭,允許跨域HTTP訪問。最後,將靜態資源代理給後端伺服器。
六、nginx靜態資源緩存CDN
為了更快地載入資源,可以使用CDN來緩存靜態資源。以下是Nginx靜態資源緩存CDN的示例代碼:
location /static/ { expires 7d; add_header Cache-Control "public"; add_header X-Proxy-Cache $upstream_cache_status; proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=static_cache:10m; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 60m; proxy_cache_bypass $http_pragma; proxy_cache_revalidate on; proxy_pass http://cdn.example.com/static/; }
首先在location塊中設置expires,將資源緩存在客戶端。然後,在頭部設置Cache-Control和X-Proxy-Cache。接下來是配置緩存路徑、緩存鍵和緩存有效期。最後將靜態資源代理給CDN服務。
七、nginx靜態緩存配置
為了確保靜態資源文件始終被緩存,可以使用Nginx靜態緩存配置。以下是Nginx靜態緩存配置的示例代碼:
http { proxy_cache_path /data/nginx/cache/ keys_zone=one:10m; server { location / { proxy_cache one; proxy_cache_valid 200 1d; } } }
在http塊中設置Nginx的緩存路徑和區域。然後在server塊中,配置Nginx使用緩存並設置緩存有效期。
八、nginx不緩存靜態資源
有時候,不希望緩存靜態資源。以下是Nginx不緩存靜態資源的示例代碼:
location /static/ { proxy_no_cache 1; proxy_cache_bypass 1; proxy_pass http://backend/static/; }
在設置URL路徑後,配置不緩存靜態資源的選項,不帶緩存地將靜態資源傳給後端伺服器。
九、springboot靜態資源緩存配置
對於使用Spring Boot的應用程序,也可以配置靜態資源緩存。以下是Spring Boot靜態資源緩存配置的示例代碼:
@Configuration public class WebMvcConfg implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**") .addResourceLocations("classpath:/static/") .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS)); } }
在WebMvcConfigurer中,配置需要被緩存的靜態資源路徑和緩存有效期。
總結
Nginx緩存靜態資源可以大大提高資源載入速度,同時也能減輕伺服器的負擔。根據不同的需求,可以進行不同的配置,達到最佳的效果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278424.html