2012/04/18

Nginx 加速 web 存取速度

對於靜態資料不外乎就是 cache、CDN (Content delivery network),減少後端 server 的 loading。

讓 static content 去別台抓
location ^~ /static {
    proxy_pass http://cdn.server/static;
}

讓 static conetent 由 nginx 處理,不透過後端 http server
location ^~ /static {
    root /var/www
}

承上,並加入 cache 機制,第一次會去檔案讀取,之後就從 cache 讀取 (要注意 cache refresh的問題)
location ^~ /static {
    root /var/www;
    proxy_buffering on;
    proxy_cache_valid 200 120m;
    expires 30d;
}

如果 static file 在多個目錄,用 OR 的方式去match
location ~* (/images|/css|/js) {
   ...
}

如果 static file 分佈在各個目錄,可以利用下面的 rule 去 match 附檔名
location ~* \.(jpg|png|gif|jpeg|css|js|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
   ...
}



沒有留言:

張貼留言