nginx-7 配置文件

配置文件由指令和指令块构成

指令

worker_processes  1; #work进程的数量
#worker_processes:指令
#1:参数

语法:
每条指令 以分号 ; 结尾,
指令与参数间 用空格分隔。

我们可以在文档中看到更多指令

https://tengine.taobao.org/nginx_docs/cn/docs/

在这里插入图片描述
也可以搜索某个指令
在这里插入图片描述
指令块

events {
    use epoll;
    worker_connections  1024; 每个work进程支持的最大连接数
}

当然也可以从指令目录中查找
在这里插入图片描述

指令块中可再包含指令快

http {
    include       mime.types; 
    server {
        listen 80;
        server_name www.mynginx.com;
        index index.html index.htm index.php;
        root  /www/wwwroot/mynginx;

        location ~ /\.
        {
            try_files $uri $uri/ /index.php?$query_string;
            if (!-e $request_filename){
                rewrite ^/(.*) /index.php last;
            }
            deny all;
        }

    }

http服务器基本结构

mainhttpserverlocation
在这里插入图片描述

指令的上下文

在这里插入图片描述
上下文表示该指令的设置场景,上下文为main,表示worker_processes是全局指令,写在任何指令块的外边。
在这里插入图片描述
代表worker_connections只能写在events{}指令块中

正则匹配优先级

server_name

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

server_name与Host的匹配优先级如下:
1)首先选择所有字符串完全匹配的server_name,如 nginx.2367.com
2)其次选择通配符在前面的server_name,如 .2367.com。
3)再次选择通配符在后面的server_name,如nginx.2367.

4)最后选择使用正则表达式才匹配的server_name,如 ~^.testweb.com$
如果都不匹配
1、优先选择listen配置项后有default或default_server的
2、找到匹配listen端口的第一个server块

location

语法: location [ = |~ | ~* | ^~ | @ ] /uri/ {…}
~ 表示执行一个正则匹配,区分大小写;
~* 表示执行一个正则匹配,不区分大小写;
^~ 表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他location;
= 进行普通字符精确匹配。也就是完全匹配;
@ 它定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

location会尝试根据用户请求中的URI来匹配上面的/uri表达式。
优先级:
1)等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项
2)前缀普通匹配(^~)优先级次之。不支持正则表达式。使用前缀匹配,如果有多个location匹配的话,则使用表达式最长的那个
3)正则表达式类型(~ ~*)的优先级次之。一旦匹配成功,则不再查找其他匹配项
4)常规字符串匹配,如果有多个location匹配的话,则使用表达式最长的那个

(location =) > (location 完整路径) > (location ^~ 路径) > (location ,* 正则顺序) > (location 部分起始路径)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值