Nginx部分模块参数介绍

  在学习nginx过程中,遇到一些问题。翻阅资料时学到了不少,参考了wiki nginx,英文不好的同学可以参考其翻译nginx模块参考手册中文版

  上诉资料很详细的讲解了nginx的方方面面,在此总结下我经常用到的。

 

一、Http模块

  所有的http配置项必须直属于http块、location块、upstream块等中,有些配置项可以任意的出现在某一个块中,而有些配置项只能出现在特定的块中。

 

  1.server

  一个server块就是一个虚拟主机,它只能处理与之对应的主机域名请求,通过设置多个不同的server,一台服务器上的Nginx就能以不同的方式处理不同主机域名的HTTP请求。

  参数

  •  listen

    语法:listen address:port [ default(0.8.21后已过时) | default_server | [ backlog=num | rcvbuf=size | sndbuf=size | accept_filter=filter | deferred | bind | ipv6only=[on|off] | ssl ] ]

    指定Nginx服务监听哪些端口,listen后值可以为IP地址(不加端口号时,默认监听80端口)、端口或主机名。

 

  •  server_name

    语法:server_name name [… ]

    设置主机名称,其后可以跟多个主机名称。

    在处理一个Http请求时,Nginx会取出header中的Host,与每个server块中的server_name进行匹配,由此决定哪个server块处理这个请求。当多个server中的server_name都能与这个HTTP请求匹配时,根据匹配优先级来选择实际处理的server块。    

匹配优先级:
1. 完整匹配的名称。
2. 名称开始于一个文件通配符:*.example.com。
3. 名称结束于一个文件通配符:www.example.*4. 使用正则表达式的名称。
  如果没有匹配的结果,nginx配置文件将按照以下优先级使用[#server server { … }]字段:
1. listen指令被标记为default的server字段。
2. 第一个出现listen(或者默认的listen 80)的server字段。

 

  •   location

     语法:location [=|~|~*|^~|@] /uri/ { … }

     location会根据用户请求的URI来匹配当前的uri表达式,如果匹配,则选择location{}中的配置来处理用户请求。当location为正则表达式时,需指定前缀~或者~*。location符号介绍如下

1.  =      表示严格匹配;
2.  ^~   表示匹配URI时只需要其前半部分与URI参数匹配即可;
3.  ~   表示匹配URI时字母大小写是敏感的; 4.  ~*    表示匹配URI时忽略字母大小写问题;
5.  /     表示匹配以“/”开头的URI,优先级最低;
6.  @     表示仅用于Nginx服务内部请求之间的重定向,带有@的location不直接处理用户请求。

   其中1,2为普通匹配,3,4为正则表达式匹配,5的优先级最低。

   关于location顺序的说明:普通 location 的匹配与 location 编辑顺序无关;但是“正则 location ”的匹配规则是“顺序匹配,且只要匹配到第一个就停止后面的匹配”;“普通 location ”与“正则 location ”之间的匹配顺序是先匹配普通 location ,再“考虑”匹配正则 location 。注意这里的“考虑”是“可能”的意思,也就是说匹配完“普通 location ”后,有的时候需要继续匹配“正则 location ”,有的时候则不需要继续匹配“正则 location ”。两种情况下,不需要继续匹配正则 location :( 1 )当普通 location 恰好严格匹配上时,不再继续正则匹配。(12)当普通 location 前面指定了“ ^~ ”时,匹配成功后不需要继续正则匹配;

  关于location的说明,可以参考location匹配详解

 

  •  root

    语法:root path;

    指定资源路径。

 

 

 

 

转载于:https://www.cnblogs.com/hqjma/p/3255357.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值