• Nginx的特性与核心类别及配置文件和模块详解


    1.root path

    设置web资源路径,用于指定请求的根文档目录,从根开始匹配

    root:root/URI

    2.alias path

    指定路径别名,只能用于location中,从最后一个/开始匹配

    alias: alias/

    3. index file ....

    定义默认页面,可以跟多个值,自左向右匹配

    4.error_page code ...[=[response]] URI

    当对于某个请求发回错误时,如果匹配上了error_page指令中设定的code,则从定向至新的URI中

    错误重定向

    5.try_files path1 [path2 ... ] URI

    自左向右尝试读取所有path所指定路径,在第一个找到即停止并返回,如果path均不存在,则返回最后一个URI

    location ~* ^/document/(.*)${

    root /www/htdocs

    try_files $uri /docu/$1 /temp.html

    }

    http://www.linuxidc.com/documents/a.html

    http://www.linuxidc.com/docu/a.html

    http://www.linuxidc.com/temp.html

    六、网络连接相关的设置

    1.keepalive_timeout time

    保持连接的超时时长,默认为75s

    2.keepalive_requests n

    在一次长连接上允许承载的最大请求数

    3.keepalive_disable [msie6|asfari|none]

    对指定的浏览器禁止使用长连接

    4.tcp_nodelay on|off

    对keepalive连接是否使用tcp_nodelay选项

    5.client_header_timeout time

    读取http请求首部的超时时长

    6.client_body_timeout time

    请求http请求包体的超时时长

    7.save_timeout time

    发送响应的超时时长

    七、对客户端请求的限制

    1.limit_except method ... { ... }

    指定范围之外的其他的访问控制,只能用于location中

    2.client_max_body_size SIZE

    http请求包体的最大值,常用于限定客户端所能够请求的最大包体,根据请求首部中的Content-Length来检查,以避免无用的传输

    3.limit_rate speed

    限制客户端每秒传输的字节数,默认为0,表示没有限制

    4.limit_rate_after time

    nginx向客户端发送响应报文时,如果时长超过了此处指定的时长,则后续的发送过程开始限速

    八、文件操作的优化

    1.aendfile on|off

    是否启用sendfile功能

    2.aio on|off

    是否启用aio功能

    3.open_file_cache max=N [incative=time]|off

    是否打开文件缓存功能

    max:用于缓存条目的最大值,允许打开的缓存条目最大数,当满两类以后将根据LRU(最小最少连接数)算法进行置换

    inactive:某缓存条目在指定时长内没有被访问过时,将自动被删除,通常默认为60s

    缓存的信息包括

    文件句柄、文件大小和上次修改的时间

    已经打开的目录结构

    没有找到或没有访问权限的信息

    4.open_file_cache_errors on|off

    是否缓存文件找不到或者没有权限访问等信息

    5.open_file_cache_min_use #

    在inactive指定的时长内被访问超过此处指定的次数时,不会被删除

    6.open_file_cache_valid time

    多长时间检查一次缓存中的额条目是否超出非活动时长,默认为60s

    九、对客户端请求的特殊处理

    1.ignore_invalid_headers on|off

    是否忽略不合法的http首部,默认为on,off意味着请求首部中出现不合规的首部将拒绝响应,只能用于server和http中,建议改为off

    2.log_not_found on|off

    用户访问的文件不存在时,是否将其记录到错误日志中

    3.resolver address

    指定nginx使用的dns服务器地址

    4.resolver timeout

    指定DNS解析超时时长,默认为30s

    5.server_tokens on|off

    是否在错误页面中显示nginx的版本号

    十、http核心模块的内置变量

    1.$uri:当前请求的uri,不带参数

    2.$request_uri:请求的uri,带完整参数

    3.$host:http请求报文中host首部,如果请求中没有host首部,则以处理此请求的主机的著名代替

    4.$hostname:nginx服务运行所在主机的主机名

    5.$remote_addr:客户端ip

    6.$remote_port:客户端port

    7.$remote_user:使用用户认证时客户端用户输入的用户名

    8.$request_filename:用户请求中的URI经过本地root或alias转换后映射的本地的文件路径

    9.$request_method:请求方法

    10.$server_addr:服务器地址

    11.$server_name: 服务器名称

    12.$server_port: 服务器端口

    13.$server_protocol:服务器想客户端发送响应时的协议,如http/1.1 http/1.0

    14.$scheme: 在请求中使用的scheme映射协议本身的协议

    15.$http_HEADER:匹配请求报文中指定的HEADER  例如:$http_host匹配请求报文中的host首部

    16.$sent_http_HEADER:响应报文中指定的HERADER,例如:$http_content_type匹配相应报文中的content-type首部

    17.$document_root:当前请求映射到的root配置

  • 相关阅读:
    日期类的时间从为什么是从1970年1月1日(格林威治时间)
    网站缓存技术总结( ehcache、memcache、redis对比)
    干货|java缓存技术详解
    TCP和UDP的区别(转)
    form表单转换为Json字符串数据
    JSON.parse 和 JSON.stringify
    Navicat连接Oracle的几个问题及解决方案
    Python IO编程
    python阶段总结一
    使用git进行版本控制
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/8110172.html
Copyright © 2020-2023  润新知