Nginx静态资源转发加速

964 阅读1分钟

服务器带宽低或者由于备案原因的网站访问用户多的时候响应越来越缓慢,下列采取一个静态资源转发到加速的域名上,不需要整个站点都去使用CDN之类的 首先创建一个站点先

server
{
  listen 80;
  listen 443 ssl http2;
  server_name static.bt.cn;
  index index.htm;
  root /www/wwwroot;
  
  #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  #error_page 404/404.html;
  limit_conn perserver 300;
  limit_conn perip 25;
  limit_rate 512k;
  #HTTP_TO_HTTPS_START
  if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
  }
  #HTTP_TO_HTTPS_END
  ssl_certificate  /etc/letsencrypt/live/static.bt.cn/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/static.bt.cn/privkey.pem;
  ssl_protocols TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  error_page 497  https://$host$request_uri;

  #SSL-END
  
  #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
  error_page 404 /404.html;
  error_page 502 /502.html;
  #ERROR-PAGE-END
  
  #PHP-INFO-START  PHP引用配置,可以注释或修改
  include enable-php-56.conf;
  #PHP-INFO-END
  
  #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
  include /www/server/panel/vhost/rewrite/static.bt.cn.conf;
  #REWRITE-END
  
  #禁止访问的文件或目录
  location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
  {
      return 444;
  }
  
  #一键申请SSL证书验证目录相关设置
  location ~ \.well-known{
      allow all;
  }
  
  location ~ .*\.(php|sql|asp|html|htm|dat)?$
  {
      return 444; 
  }
  
  location ~ .*\.(htm|html|js|css|json|txt|md|csv|xml|log|conf|vue|jpg|jpeg|gif|png|tif|tiff|bmp|svg|psd|ico|tga|imb|mp3|mp4|avi|mpeg|rm|ra|ogg|wav|wmv|rmi|aac|rmvb|mkv|flv|swf|mov|movie|exe|ios|apk|ipa|pxl|sis|cab|deb|rar|zip|gzip|tar|7z|bzip2|dmg|gz|wim|tbz|tpz|z|jar|ttf|otf|woff|woff2|eot|sfnt)?$
  {
      expires    365d;
      error_log off;
      access_log off;
  }
  access_log  /www/wwwlogs/static.bt.cn.log;
  error_log  /www/wwwlogs/static.bt.cn.error.log;
}

比如static.bt.cn(这个好比是你的域名)

img

img

img

img

创建完成后将配置进行修改如下: 然后将static.bt.cn 免费CDN套上去 在CDN上设置全局缓存强制缓存 下面是网站服务器的站点中需要修改的地方伪静态方案加入这段 如下

location ~ .*\.(jpg|jpeg|gif|png|ico|gz|svg|svgz|mp4|ogg|ogv|webm|pdf|mp3|zip|apk|dat)$
  { rewrite ^/(.*)$ https://static.bt.cn/bt.cn/$1 last; 
}

如果已经用了伪静态配置的话可以加到后面

当访问www.bt.cn的静态文件时自动会将上述类型的静态文件自动转发至: static.bt.cn