可以通過nginx對服務器上的靜態資源進行過期時間設置和對資源進行壓縮傳輸來減少服務器的帶寬開銷。
以下是nginx對靜態資源過期時間的設置方法:
代碼如下 | |
location ~* .(ico|gif|bmp|jpg|jpeg|png|swf|js|css|mp3) { |
上面的配置可以對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 文件可以被緩存,后來就到很多地方去問
新聞熱點
疑難解答