Nginx从入门到放弃-第3章 场景实战篇

  • 3-1场景实践篇内容介绍;
  • 3-2 Nginx作为静态资源Web服务_静态资源类型;
  • 3-3 Nginx作为静态资源web服务_CDN(内容分发网络)场景;
  • 3-4 Nginx作为静态资源Web服务_配置语法;
  • 3-5 Nginx作为静态资源web服务_场景演示;
  • 3-6 Nginx作为静态资源web服务_浏览器缓存原理;
  • 3-7 Nginx作为静态资源web服务_浏览器缓存场景演示;
  • 3-8 Nginx作为静态资源web服务_跨站访问;
  • 3-9 Nginx作为静态资源web服务_跨域访问配置;
  • 3-10 Nginx作为静态资源服务_防盗链;
  • 3-11 Nginx作为静态资源web服务_防盗链2
  • 3-12 Nginx作为代理服务_代理服务;
  • 3-13 Nginx作为代理服务_配置语法及反向代理场景;
  • 3-14 Nginx作为代理服务_正向代理配置场景1;
  • 3-15 Nginx作为代理服务_正向代理配置场景2;
  • 3-16 Nginx作为代理服务_代理配置语法补充;
  • 3-17 Nginx作为代理服务_代理配置语法补充;
  • 3-18 Nginx作为负载均衡服务_负载均衡与Nginx;
  • 3-19 Nginx作为负责均衡服务_配置语法;
  • 3-20 Nginx作为负载均衡服务_应用场景;
  • 3-21 Nginx作为负载均衡服务_server参数讲解;
  • 3-22 Nginx作为负载均衡服务_backup状态演示;
  • 3-23 Nginx作为负载均衡_backup状态演示;
  • 3-24 Nginx作为负载均衡服务_负载均衡策略ip_hash方式;
  • 3-25 Nginx作为负载均衡_负载均衡策略url_hash策略;
  • 3-26 Nginx作为缓存服务_Nginx作为缓存服务;
  • 3-27 Nginx作为缓存服务_缓存服务配置语法;
  • 3-28 Nginx作为缓存服务_场景配置演示;
  • 3-29 Nginx作为缓存服务_场景配置补充说明
  • 3-30 Nginx作为缓存服务_分片请求

 

3-1场景实践篇内容介绍;

1、静态资源Web服务;

2、中间件——代理服务;

3、负载均衡调度器SLB(Layer7负载均衡);

4、动态缓存;

3-2 Nginx作为静态资源Web服务_静态资源类型;

1、静态资源Web服务介绍

2、非服务器动态运行生成的文件;

  • 浏览器端渲染——HTML、CSS、JS;
  • 图片——JPEG、GIF、PNG;
  • 视频——FLV、MPEG;
  • 文件——TXT等任意下载的文件;

3-3 Nginx作为静态资源web服务_CDN(内容分发网络)场景;

1、我们在请求静态资源的时候,常常会用到CDN服务;

3-4 Nginx作为静态资源Web服务_配置语法;

1、文件读取——配置语法;

Syntax:sendfile on|off;

Default:sendfile off;

Context:http,server,location,if in location;

引读:——with-file-aio 异步文件读取;

2、tcp_nopush——配置语法;

Syntax:tcp_nopush on|off;

Default:tcp_nopush off;#汇集一些数据包,一次发送,效率高!

Context:http,server,location;

作用:sendfile开启的情况下,提高网络包的传输效率;对文件的实时性不是太高的情况下;

3、tcp_nodelay——配置语法;

Syntax:tcp_nodelay on|off;

Default:tcp_nodelay off;

Context:http,server,location;

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

4、压缩——配置语法;

Syntax:gzip_comp_level level;

Default:gzip_comp_level 1;

Context:http,server,location ;

作用:压缩传输,压缩比率,但消耗服务端的性能开销;


Syntax:gzip_http_version 1.0|1.1;

Default:gzip_http_version 1.1;

Context:http,server,location ;

作用:压缩传输,配置压缩的HTTP协议的版本;

3-5 Nginx作为静态资源web服务_场景演示;

1、http_gzip_static_module-预读gzip功能;

[root@localhost conf.d]# cat static_server.conf 
server {
    listen       80;
    server_name  47.94.220.79 jeson.imoocc.com www.jesonc.com;
 
    sendfile on;
    #charset koi8-r;
    access_log  /var/log/nginx/access.log  main;

 
    location ~ .*\.(jpg|gif|png)$ {
         gzip on;
         gzip_http_version 1.1;
         gzip_comp_level 2;
         gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
 
        valid_referers none blocked 47.94.220.79 jeson.imoocc.com ~wei\.png;
        if ($invalid_referer) {
            return 403;
        }
        root  /opt/app/code/images;
    }

    location ~ .*\.(txt|xml)$ {
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 1;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        root  /opt/app/code/doc;
    }

    location ~ .*\.(htm|html)$ {
        expires 24h;
        root  /opt/app/code;
    }

    location ~ ^/download {
        #gzip_static on;
        tcp_nopush on;
        root /opt/app/code;
    }


    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504 404  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


[root@localhost conf.d]# 

2、http_gzip_static_module-预读gzip功能;

3、http_gunzip_module-应用支持gunzip的压缩方式;

4、优点与缺点并存的配置,比如消耗CPU就省磁盘空间,是一个取舍问题;

3-6 Nginx作为静态资源web服务_浏览器缓存原理;

1、HTTP协议定义的缓存机制(如;Expires;Cache-control等)

2、浏览器无缓存;

 

3、浏览器有缓存;

4、浏览器请求机制;

 

3-7 Nginx作为静态资源web服务_浏览器缓存场景演示;

1、

3-8 Nginx作为静态资源web服务_跨站访问;

1、为什么浏览器禁止跨域访问?

不安全,容易出现CSRF攻击!

2、Nginx如何配置语法:

Syntax:add_header name value [always];

Default:-

Context:http,server,location,if in location;

Access-Control-Allow-Origin

3-9 Nginx作为静态资源web服务_跨域访问配置;

1、浏览器勾选Disable cache

2、配置举例

3-10 Nginx作为静态资源服务_防盗链;

1、目的:防止网站资源被盗用;

  • 希望一些合法的用户访问;
  • 无用用户访问网站,防止恶意请求造成网络开销;

2、防盗链设置思路:首要方式:区别哪些请求是非正常的用户请求;

3、基于http_refer防盗链配置模块

3-11 Nginx作为静态资源web服务_防盗链2

3-12 Nginx作为代理服务_代理服务;

3-13 Nginx作为代理服务_配置语法及反向代理场景;

3-14 Nginx作为代理服务_正向代理配置场景1;

3-15 Nginx作为代理服务_正向代理配置场景2;

3-16 Nginx作为代理服务_代理配置语法补充;

3-17 Nginx作为代理服务_代理配置语法补充;

3-18 Nginx作为负载均衡服务_负载均衡与Nginx;

3-19 Nginx作为负责均衡服务_配置语法;

3-20 Nginx作为负载均衡服务_应用场景;

3-21 Nginx作为负载均衡服务_server参数讲解;

3-22 Nginx作为负载均衡服务_backup状态演示;

3-23 Nginx作为负载均衡_backup状态演示;

3-24 Nginx作为负载均衡服务_负载均衡策略ip_hash方式;

3-25 Nginx作为负载均衡_负载均衡策略url_hash策略;

3-26 Nginx作为缓存服务_Nginx作为缓存服务;

3-27 Nginx作为缓存服务_缓存服务配置语法;

3-28 Nginx作为缓存服务_场景配置演示;

3-29 Nginx作为缓存服务_场景配置补充说明

3-30 Nginx作为缓存服务_分片请求

 

 

posted @ 2018-03-21 12:48  天晴天朗  阅读(227)  评论(0)    收藏  举报