線上環境 不少接口 若是不作緩存 可能致使有人拿到url 每秒幾萬次的訪問後臺程序,致使系統down機.
此處, nginx能夠加一層緩存. html
expires起到控制頁面緩存的做用,合理的配置expires能夠減小不少服務器的請求
要配置expires,能夠在http段中或者server段中或者location段中加入
PS. 能夠限制單個接口的訪問nginx
location ~ ^/user/ {
proxy_pass http://user.example.com;web
expires 1; //1h //1d //expires max; 部分文件看須要能夠永久 }緩存
nginx wiki http://nginx.org/en/docs/http/ngx_http_core_module.html#location
語法: expires [time|epoch|max|off]服務器
默認值: expires offurl
做用域: http, server, locationserver
使用本指令能夠控制HTTP應答中的「Expires」和「Cache-Control」的頭標,(起到控制頁面緩存的做用)。htm
能夠在time值中使用正數或負數。「Expires」頭標的值將經過當前系統時間加上您設定的 time 值來得到。blog
epoch 指定「Expires」的值爲 1 January, 1970, 00:00:01 GMT。接口
max 指定「Expires」的值爲 31 December 2037 23:59:59 GMT,「Cache-Control」的值爲10年。
-1 指定「Expires」的值爲 服務器當前時間 -1s,即永遠過時
「Cache-Control」頭標的值由您指定的時間來決定:
"off" 表示不修改「Expires」和「Cache-Control」的值
demo:
控制圖片等過時時間爲30天,固然這個時間能夠設置的更長。具體視狀況而定
好比
location~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
expires 30d;
}
控制匹配/resource/或者/mediatorModule/裏全部的文件緩存設置到最長時間
好比
location ~ /(resource|mediatorModule)/ {
root /opt/demo;
expires max;
}
另附其餘方案: Nginx限制某個IP同一時間段的訪問次數 nginx webcache配置 http://blog.sina.com.cn/s/blog_664553710100zmxr.html