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

四十三、LAMP与LNMP web架构深度优化实战-第二部的更多相关文章

  1. 四十二、LAMP与LNMP web架构深度优化实战-第一部

    1.nginx.conf配置文件基本参数优化 1.1 隐藏nginx header内版本号信息 一些特定的系统及服务漏洞一般都和特定的软件版本号有关,我们应尽量隐藏服务器的敏感信息(软件名称及版本等信 ...

  2. WEB架构深度优化之PHP

    一.PHP引擎缓存加速优化(4种) 1.eAccelerator 2.XCache 3.APC 4.Zend 二.使用tmpfs作为缓存加速缓存的目录(可用rc.local或fstab来自动挂载) m ...

  3. LNMP WEB架构构建

    LNMP WEB架构处理请求过程 1.Nginx为一款高性能Web服务器,本身是不能处理PHP的,当接收到客户端浏览器发送HTTP Request请求时,Nginx服务器响应并处理web请求,静态资源 ...

  4. 四十、LAMP与LNMP加速与缓存优化进阶实战上部

    实例: 一. 所有服务器配置定时时间同步,必须通过web server上网. 有两种方式: 1.服务器A能进行上网,作为web server ,通过指定为ntp服务器,所有服务器访问这个服务器 2.服 ...

  5. 撩课-Web架构师养成系列(第二篇)-async

    前言 Web架构师养成系列共15篇,每周更新一篇,主要分享.探讨目前大前端领域(前端.后端.移动端)企业中正在用的各种成熟的.新的技术.部分文章也会分析一些框架的底层实现,让我们做到知其然知其所以然. ...

  6. 四十一、LAMP与LNMP加速与缓存优化进阶实战下部

    一.配置,在nginx和apache所在的服务器中: 1.配置:cd /application/php/lib/php.ini 1)extension_dir="/application/p ...

  7. 四十三:漏洞发现-WEB应用之漏洞探针类型利用修复

    已知CMS 如常见的dedecms,discuz,wordpress等源码结构,这种一般采用非框架开发,但是也有少部分采用框架类开发,针对此类源码程序的安全监测, 我们要利用公开的漏洞进行测试,如不存 ...

  8. LAMP与LNMP架构的区别及其具体的选择说明

    LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 以上两只架构是目前网站的主流架构 LAMP和LNMP最主要的区别在于: 一个使用的是A ...

  9. 可扩展Web架构与分布式系统(转)

    1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多 ...

随机推荐

  1. UVA - 11572 Unique Snowflakes(唯一的雪花)(滑动窗口)

    题意:输入一个长度为n(n <= 10^6)的序列A,找到一个尽量长的连续子序列AL~AR,使得该序列中没有相同的元素. 分析: 法一:从r=0开始不断增加r,当a[r+1]在子序列a[l~r] ...

  2. mysql与mariadb性能测试方法

    本方法来自于阿里云的MySQL性能白皮书,原文地址:https://help.aliyun.com/document_detail/35264.html?spm=a2c4g.11174359.6.77 ...

  3. AD在更新PCB的时候,每次封装都会改变位置?

    转载:https://blog.csdn.net/abc87891842/article/details/52538660 3.如果是很多元件的ID不一致, 手动修改太麻烦了, 可以使用AD的 &qu ...

  4. js 月份选择器(只选择到月)

    需要如下js https://pan.baidu.com/s/1c1T9wY0 在html中添加如下代码 <input onclick="setmonth(this)" /& ...

  5. C语言备忘录——向上取整

    众所周知,C语言的取整方式是向下取整,昨天老师留了一道思考题,问我们C语言怎么向上取整,当时我第一反应就是ceil(),老师说不能用if……else之类的,函数也不行.当时想了想没事不用就不用,去ma ...

  6. Integer和int的区别

    1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引用,当new一个Integer ...

  7. 19 01 11 javascript 获取某一种元素(所有的标签) 以及字符串处理的方法

    获取元素方法二 可以使用内置对象document上的getElementsByTagName方法来获取页面上的某一种标签,获取的是一个选择集,不是数组,但是可以用下标的方式操作选择集里面的标签元素. ...

  8. python 符号小技巧

    1 用于解释 对于不想放入程序中执行的句子  用来解释的 在Python中 单行注释用   #   多行注释用 """ 这个句子不会在Python中表达出来 " ...

  9. kube-apiserver常用配置项

    KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"                                        ...

  10. VS程序不显示控制台

    之所以会有这样的想法是因为,有时候我会用到一些库,这些库在使用的时候会在控制台输出一些信息,虽然这是无可厚非的事情,但是,如果我写了一个界面,这个时候当然是希望要显示什么就显示在界面上,或者就不要显示 ...