可以通过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 文件可以被缓存,后来就到很多地方去问