之前一直沒有整理成blog,只是有筆記,今天正好整理了一下,希望對朋友們有幫助!!!
使用nginx服務器的朋友可能都知道需要設置html靜態頁面緩存與頁面壓縮與過期時間的設置了,下面我來給各位同學介紹一下配置方法,包括對ico,gif,bmp,jpg,jpeg,swf,js,css,mp3文件進行本地緩存.
可以通過nginx對服務器上的靜態資源進行過期時間設置和對資源進行壓縮傳輸來減少服務器的帶寬開銷。
以下是nginx對靜態資源過期時間的設置方法:
location ~* .(ico|gif|bmp|jpg|jpeg|png|swf|js|css|mp3) {
root /var/www/opkeep;
expires 30d;
}
上面的配置可以對ico,gif,bmp,jpg,jpeg,swf,js,css,mp3文件進行本地緩存,不用每次訪問都重新從服務器獲取。
壓縮的配置如下:
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/plain application/x-javascript text/css;
對文本、js和css文件進行壓縮,一般情況下,壓縮後的大小是原始大小的25%,甚至更小。
緩存動態頁面,緩存過期時間
這裏用虛擬機配置了下:
nginx 配置文件內容:
主要是這一句:
proxy_cache_path /www/ levels=1:2 keys_zone=Z:10m inactive=1m max_size=30g;
這一句定義一個區域,名字是 Z ,在內存中的空間爲10MB ,硬盤中的最大空間爲 30G;
inactive=1m 是,1分鐘之後緩存失效 ,從新從源服務器請求
這裏糾正一下,inactive=1m 如果緩存1分鐘沒人訪問,nginx 會刪除掉這些緩存
/usr/local/nginx/conf/nginx.conf
代碼如下 | 複製代碼 |
#user nobody; #error_log logs/error.log; #pid logs/nginx.pid;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #access_log logs/access.log main; sendfile on; #keepalive_timeout 0; #gzip on; #charset koi8-r; #access_log logs/host.access.log main; location / { #proxy_store on; include proxy.conf; #location ~.*.(jpg|png|jpeg|gif) #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # deny access to .htaccess files, if Apache's document root
# location / {
# ssl on; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # location / { } |
/usr/local/nginx/conf/proxy.conf
代碼如下 | 複製代碼 |
proxy_redirect off; proxy_connect_timeout 60; proxy_buffer_size 512k; |
html 文件可以被緩存,後來就到很多地方去問