服务器性能优化(一) --- Nginx:静态文件优化

Nginx作为web服务器,对于静态文件的优化有很多的长处在此我就将静态文件优化分为3步,实现高性能的读取


注:通常所指的静态文件为:js,css,jpg,jpeg,png,gif,swf等


将Nginx作为前端反向代理,缓存静态文件

Nginx提供代理缓存,在此技术上显示缓存静态文件,能大大提高资源的获取速度,显著降低系统调用静态资源所产生的I/O瓶颈

http{
//反向代理设置
upstream realserver{
		server localhost:88;
}
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /tmp/proxy_temp_dir;
//代理缓存设置
proxy_cache_path /tmp/proxy_cache_dir levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
}
location / {
//代理设置
proxy_pass http://realserver;//对应upstream后的名称
proxy_setHeader Host $host;
proxy_setheader X-Forwarded-For $remote_addr;
//代理缓存设置
proxy_cache cache_one;//对应proxy_cache_path中的keys_zone
proxy_cache_valid 200 304 1d;//对于200及304的http页面缓存
proxy_cache_key $host$uri$is_args$args;//缓存的key值
}


Gzip压缩及设定HTTP请求头

http{
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_disable "MSIE [1-6]\.";
}
server{
gzip_proxied any;//对于任意访问都进行gzip压缩
//如果是后端服务器,则需要设置
gzip_vary on;//用于写响应头Vary: Accept-Encoding,让前端代理进行压缩
}
Localation / {
expires 1d;//写请求响应头
}


利用模块,压缩js及css,自动生成图片缩略图

我推荐3个模块针对静态文件进行优化:

  • ngx_pagespeed:这款是google开发的对于页面加速,提供全面的解决方案,内部功能很多,上诉2个步骤的功能也包含,还能去除js和css文件中的空白换行等,进行文件压缩
  • ngx_image_thumb:主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印,程序中不用对用户上传的图片进行处理,在需要的时候才生成所需的图片,无疑,该模块成为图片处理的利器,开源中国上有针对该模块的详细说明,点击
  • ngx_http_concat:主要功能是实现对于js和css文件的合并,用一个请求实现多个文件调用,可以有效的降低页面的请求数

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值