zoukankan      html  css  js  c++  java
  • 四十三、LAMP与LNMP web架构深度优化实战-第二部

    1. 配置nginx gzip压缩功能
        服务器对发出的内容进行压缩,带宽少了,体验好,速度快,但是服务端压,会使cpu使用高,压缩比高的进行压缩:文本、程序文件、数据文件。图片视频不要压缩,一般不会减少,而且占比cpu大。
      
        gzip on :压缩配置
       
       gzip_min_length  1k
       gzip_buffers     4   16k
      
       gzip_comp_level 2   压缩比例,用来指定GZIP压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗cpu
     
       gzip_types  text/plain  text/css   application/xml:对什么内容进行压缩
       gzip_vary on   : 如果前端是缓存,希望缓存把结果发给客户,就要打开,不解压,客户进行解压。
        以上参数在主配置文件中发到http标识,就所有都生效。
       对于nginx的模块可以在./configure中查看,默认情况下大部分都装了,但是我们不用,所以有时需要反向关闭。
       对于apache的压缩优化配置,可以参数网上的答案!
     
    2.配置nginx  expires 缓存功能
    在服务端配置expires,告诉客户端缓存保持多久。
    优点:
    1.第一次以后 访问网站快
    2.节省服务带宽
    3.服务器压力降低
    坏处:
    1.网站如果改版,对应的用户看到的还是旧的
    解决;
    1) 过期的时间短一些
    2)资源文件更新时,改名(缓存文件改名)
    在配置文件中server中,如下:
    location ~.*(gif|bmp|swf)$
    {
     expires   3650d
    }
    location ~.*.(js|css)?$
    {
     expires  30d
    }
    延申:有关爬虫禁止的配置:
    robots协议:爬虫协议。可以硬爬,但是行业标准是robots,打官司有可能用到的很重要的文件。
      上面只是一个协议,如果要防止爬虫:可以百度nginx防爬虫处理;也是在server中配置,如图:
     

     3.nginx日志相关优化与安全

           nginx 没有类似apache的cronolog日志分割处理的功能,但是,可以通过nginxNginx的信号控制功能或者reload重新加载,然后利用脚本来实现日志的自动切割。

    4.不记录不需要的访问日志

       对于健康检查或某些图片的日志,一般不需要记录,因为在统计PV时是按照页面计算,而且日志写入频繁消耗IP,降低服务性能。
       在nginx的虚拟主机中进行配置,就可以生效具体配置,可以百度。类似的文件等都可以进行控制访问。
     
      
    5.apache和nginx站点目录最小化安全设置:
      1)所有站点目录的用户和组应该是root
      2)所有目录权限默认是755
      3)所有文件权限是默认的644
     
    6.http状态码:
    403 是权限问题
    500  一般是配置错误
    502  坏的网关,一般是网关服务器请求后端服务器,后端直接挂了
    503  服务当前不可用,可能是超载或者维护导致
    504  坏的网关,一般是网关服务器请求后端服务器,后端超时没有返回结果导致
     
    7.tmpfs是一种基于内存的文件系统,使用tmpfs达到加快速度的目的,IO很高而且是临时的目录,就可以用,需要用内存来撑住
    mount -t tmpfs -o size=16m  tmpfs  /tmp
  • 相关阅读:
    从句分析
    artDialog ( v 6.0.2 ) content 参数引入页面 html 内容
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 13 罗马数字转整数
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 12 整数转罗马数字
    Java实现 LeetCode 11 盛最多水的容器
    Java实现 LeetCode 11 盛最多水的容器
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11747218.html
Copyright © 2011-2022 走看看