nginx相关(静态资源、代理服务、负载均衡、动态缓存)

来源:互联网 发布:flash游戏源码 编辑:程序博客网 时间:2024/06/09 18:14

静态资源

第一:tcp_nopush on;

作用:sendfile开启的情况下,提高网络包的传输效率,默认是关闭的

打包合并发送。

第二:tcp_nodelay on;

作用:keepalive连接下,提高网络包的传输实时性

第三:gzip on;

作用:压缩传输

第四:gzip_comp_level 1;

作用:压缩级别

第五:gzip_http_version 1.1;

目前主流版本1.1

第六:gzip_typs xxxxxx

需要压缩的格式文件

第七:gzip_static on;

作用:预读gzip功能,就是请求服务器上压缩的文件,返回给客户端是解压后的文件,用于下载


浏览器的缓冲机制

配置缓冲的过期时间:expires  24h;

从服务器获取,返回200,从缓冲获取,返回304


跨域访问开启

add_header name value;

如下两个

add_header   Access_Control_Allow_Origin www.baidu.com;

add_header   Access_Control_Allow_Methods GET,POST,PUT,DELETE,OPTIONS;


防盗链

valid_referers none(允许没有上次地址信息refer访问) blocked(允许没有带http访问)116.62.100.100; 

if($invalid_referer){

return 403

}


代理服务

正向代理,为客户端服务

http_x_forwarded_for !~* ip(这个ip不允许访问)


反向代理,为服务端服务

proxy_pass url(到外网访问不到的地址)


缓冲区

proxy_buffering on;

重定向

proxy_rediret default;

头信息扩展

proxy_set_header ;

超时

proxy_connect_timeout 60s;


负载均衡

7层

nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 

 

负载均衡配置示例:

upstream backend {

             #ip_hash;#有缺陷,如果客户端使用代理,如vpn,可以固定url到同一台服务器

       #hash $request_url

             server 192.168.1.251;

             server 192.168.1.252;

             server 192.168.1.247;

         }

 

server {

        listen       80;

        server_name  trffweb;

 

        location / {

 

             #反向代理的地址

             proxy_pass http://backend;     

        }

}




动态缓存

proxy_cache

proxy_no_chche 可以用于部分页面不缓存

阅读全文
0 0
原创粉丝点击