Nginx常见优化总结(持续更新)

1.worker_processes 与worker_connections并发配置

worker_processes默认1,一般配置CPU核心数

work_connections默认1024(每个work_processes最大连接数)

总并发= worker_processes* worker_connections

2.gzip压缩(http模块配置),一般是1k以上的js,css,xml等开启压缩,图片视频不要开启压缩,否则浪费cpu还不能节省带宽。

     

    gzip on;#开关
    gzip_vary on; #响应头增加Var压缩标记,便于浏览器查看该资源是否被压缩过
    gzip_min_length 1k; #至少1k才压缩
    gzip_buffers 4 16k; #一次4*16k单位申请内存
    gzip_comp_level 9;  #最高级别压缩,但是较耗用资源,视频图片最好不压缩。压缩率太低
    gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php                   

Vue前端gzip压缩案例:webpack打包虽然去除了js,css等的代码空格等,但仍然有较大的压缩价值

gzip开启前

gzip开启后(Ctrl+F5重新加载)

3.Nginx缓存

location / {
        root /home/work/web/xxxx-web;
        index index.html;
        access_log off; #关闭静态资源访问日志
        expires 1d;
    }

Vue前端nginx缓存案例:开启缓存后,浏览器再次访问页面加载的js,css时间基本为0ms,但是开启缓存可能导致用户不能拿到最新版本的js,css文件,可以根据更新频率设置合理缓存时间(如用户默认头像等),这样做可能还是不能满足迭代较快的前端项目,最好的做法是Vue每次打包能有不同的js,css文件名,这样每次上线后访问页面加载时就会重新加载静态资源:

一、新增开发插件: npm i mini-css-extract-plugin -D 

二、Vue-cli3配置:(vue.config.js)增加配置(js,cs动态文件名)

   const MiniCssExtractPlugin = require('mini-css-extract-plugin');
   const date = new Date();
   。。。。

  configureWebpack: {

     output: { 
      filename: `./static/js[name].${date.getTime()}.js`,
      chunkFilename: `./static/js/[name].${date.getTime()}.js`
    },
 
    plugins: [
      new MiniCssExtractPlugin({
        filename: `./static/css/[name].${date.getTime()}.css`,
        chunkFilename: `./static/css/[name].${date.getTime()}.css`
      })
    ],

4.文件,目录,IP白名单访问限制

#防止文件上传漏掉——木马连接
location ~ ^/images/.*\.(php|php5|.sh|.pl|.py)$ {
   deny all;
 }

#后台管理指定IP连接
 location /XXXX/manage/ {
    allow 222.209.XX.XXX;
    deny all;
       ......
}
#特殊URL禁止连接
location /admin/ {
 return 404; 
}

 

 

更多优秀文章参考>>>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值