zoukankan      html  css  js  c++  java
  • 006-nginx.conf详解-error_page 使用、压缩

    一、概述

      nginx指令error_page的作用是当发生错误的时候能够显示一个预定义的uri

    1.1、使用步骤

      更改nginx.conf在http定义区域加入: proxy_intercept_errors或者fastcgi_intercept_errors

    fastcgi_intercept_errors on;#默认off

      如果没这句的不管是error_page 还是nginx自带的404跳转都不能正常显示(访问不存在的页面时可能会显示“No input file specified.”)

    • 默认: fastcgi_intercept_errors off
    • 添加位置: http, server, location, location 中的if字段 
    • 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向

    1.2、配置全局错误【可不配置】

      可以在http下添加

    error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 506 = http://www.github.com/404.html;

    1.3、针对http中server具体配置error_page

      更改nginx.conf,在server 区域加入: error_page 404  /404.html  或者 error_page 404 =http://www.xxx.com/404.html

    1.3.1、方式一、本地文件-直接读取本地物理文件

        error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 504 506 /404.html;
    
        location =/404.html {
            root /export/servers/nginx/html;
        }

      实际上产生了一个内部跳转(internal redirect),当访问出现上述错误码的时候就能返回404.html中的内容,这里需要注意是否可以找到404.html页面,所以加了个location保证找到你自定义的404页面。

    1.3.2、方式二、指向具体url

    error_page 404 http://www.xxx.com/404.html

    1.3.3、方式三、设置named location,然后在里边做对应的处理。

    error_page 500 502 503 504 @jump_to_error;
    location @jump_to_error {    
        proxy_pass http://backend;
    }

    同时error_page在一次请求中只能响应一次,对应的nginx有另外一个配置可以控制这个选项:recursive_error_pages

    默认为false,作用是控制error_page能否在一次请求中触发多次。

    1.4、重定义响应码【使用等号】

    1、自己定义返回状态码【等号后面追加响应码 如 =200】

        error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 504 506 =200 /404.html;
    
        location =/404.html {
            root /export/servers/nginx/html;
        }

      这样用户访问产生上述响应码的时候给用户的返回状态是200,内容是404.html。

    2、使用要访问页状态码【等号后面不写响应码 如 =】

        error_page 400 401 402 403 404 405 408 410 412 413 414 415 500 501 502 503 504 506 = /404.html;
    
        location =/404.html {
            root /export/servers/nginx/html;
        }

    二、压缩

    gzip压缩作用:将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度,压缩会消耗nginx的cpu性能

    gzip压缩可以配置http,server和location模块下

    0.压缩语法

    location ~ .*.(jpg|gif|png|bmp)$   //~区分大小写, 匹配任意字符开头以.jpg或.bmp结尾,注意这里的jgp等类型需要使用gzip_types调用
    gzip on;                            //开启gzip压缩
    gzip_http_version 1.1               //压缩协议版本
    gzip_comp_level 3;                  //压缩比率
    gzip_types                          //压缩类型,根据/usr/local/nginx/conf/mime.types中定义;

    示例:

            location ~ .*.(jpg|gif|png|bmp)$ {
                    gzip on;
                    gzip_http_version 1.1;
                    gzip_comp_level 3;
                    gzip_types text/plain application/json application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;
                    }
            }
  • 相关阅读:
    hdoj-1005-Number Sequences
    FOJ-1058-粗心的物理学家
    程序设计第三次作业附加 代码规范
    简单数论
    FOJ-1001-Duplicate Pair
    链表初尝试-链表的构建与输出-指针
    函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
    电路与电子学-第一章直流电路分析方法小概括
    DFS回溯-函数递归-xiaoz triangles
    进制转换 hdoj-2031
  • 原文地址:https://www.cnblogs.com/bjlhx/p/12034531.html
Copyright © 2011-2022 走看看