nginx提高负载

4 篇文章 0 订阅

网站提高负载
1.gzip压缩
gzip配置的常用参数
gzip on|off; #是否开启gzip
gzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?)
gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_disable #正则匹配UA 什么样的Uri不进行gzip
gzip_min_length 200 # 开始压缩的最小长度(再小就不要压缩了,意义不在)
gzip_http_version 1.0|1.1 # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)
gzip_proxied # 设置请求者代理服务器,该如何缓存内容
gzip_types text/plain application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_vary on|off # 是否传输gzip压缩标志

2.expires设置图片缓存
在location或if段里,来写.
格式 expires 30s;
expires 30m;
expires 2h;
expires 30d;
(注意:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效)
另: 304 也是一种很好的缓存手段
原理是: 服务器响应文件内容是,同时响应etag标签(内容的签名,内容一变,他也变), 和 last_modified_since 2个标签值
浏览器下次去请求时,头信息发送这两个标签, 服务器检测文件有没有发生变化,如无,直接头信息返回 etag,last_modified_since
浏览器知道内容无改变,于是直接调用本地缓存.
这个过程,也请求了服务器,但是传着的内容极少.
对于变化周期较短的,如静态html,js,css,比较适于用这个方式

3.反向代理nginx+apache动静分离
用nginx做反向代理和负载均衡非常简单,
支持*

两个用法: 1个proxy反向代理, 1个upstream负载均衡

*,以反向代理为例, nginx不自己处理php的相关请求,而是把php的相关请求转发给apache来处理.
这里写图片描述
—这不就是传说的”动静分离”,动静分离不是一个严谨的说法,叫反向代理比较规范.

简单说:就是将php文件扔到apache 让apache处理php文
 location ~ \.php$ {
        proxy_pass http://127.0.0.1:8080(这是apache虚拟机监听的端口)
        }

**反向代理后端如果有多台服务器,自然可形成负载均衡,
但proxy_pass如何指向多台服务器?
把多台服务器用 upstream指定绑定在一起并起个组名,**

upstream imageserver   服务器集
        {
         server 127.0.0.1:81 weight=1 max_fails=2 fail_timeout=3;   //第一台服务器绑定的信息
         server 127.0.0.1:82 weight=1 max_fails=2 fail_timeout=3;//第二台服务器绑定的信息
        }
//第一台图片服务器
    server{
        listen 81;
        server_name localhost;
        root html;
        access_log logs/81_access.log main;
        }
//第二台图片服务器
   server{
        listen 82;
        server_name localhost;
        root html;
        access_log logs/82_access.log main;
        }

**然后proxy_pass指向该组:
例:当访问图片的时候。转到该集群**

location ~* \.(jpg|jpeg|gif|png)
 {
   proxy_set_header X-Forwarded-For $remote_addr;
   //记录真正访问的ip,在日志中而不是代理的ip  
      root html;
     proxy_pass http://imageserver;//指向upstream
     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值