zoukankan      html  css  js  c++  java
  • nginx-location正则表达式匹配规则及动静分离

    nginx-location正则表达式匹配规则及动静分离

    nginx,location常用正则表达式,及nginx动静分离

    nginx匹配规则

    1
    2
    3
    4
    5
    6
    ~      波浪线表示执行一个正则匹配,区分大小写
    ~* 表示执行一个正则匹配,不区分大小写
    ^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
    = 进行普通字符精确匹配
    @ "@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files
    !~(!~*) 表示区分大小写不正则匹配和不区分大小写不正则匹配

    nginx正则表达式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    . : 匹配除换行符以外的任意字符
    ? : 重复0次或1次
    + : 重复1次或更多次
    * : 重复0次或更多次
    d :匹配数字
    ^ : 匹配字符串的开始
    $ : 匹配字符串的介绍
    {n} : 重复n次
    {n,} : 重复n次或更多次
    [c] : 匹配单个字符c
    [a-z] : 匹配a-z小写字母的任意一个

    注意 当正则表达式中含有 {} 是,必须将 正则表达式用 “” 引起来否则会报错
    nginx: [emerg] pcre_compile() failed: missing ) in “/one/(d” in /usr/local/nginx/conf/nginx.conf:56

    例如:

    1
    2
    3
    4
    5
    6
    #rewrite ^/test/([d]{3})/$ /index.php?id=$1 break;  #报错
    #修改为
    rewrite "^/test/([d]{3})/$" /index.php?id=$1 break;

    #本条可以不用引号
    rewrite ^/(d+)/$ /index.php?id=$1 break;

    动静分离清单

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # 第一个必选规则
    location = / {
    proxy_pass http://127.0.0.1:9000/index
    }
    # 第二个必选规则是处理静态文件请求,这是nginx作为http服务器的强项
    # 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
    location ^~ /static/ {
    root /web/static/;
    }
    location ~* .(gif|jpg|jpeg|png|css|js|ico)$ {
    root /web/res/;
    }
    #第三个规则就是通用规则,用来转发动态请求到后端应用服务器
    #非静态文件请求就默认是动态请求,自己根据实际把握
    #毕竟目前的一些框架的流行,带.php,.jsp后缀的情况很少了
    location / {
    proxy_pass http://127.0.0.1:9000/
    }
     
  • 相关阅读:
    搜索引擎判断跳转
    NPOI 2.0 教程(二):编辑既存的EXCEL文件
    linux服务器性能状态查看
    买服务器网址
    最全的蜘蛛
    CentOS中配置lvm存储
    CentOS中对ext4文件系统做磁盘配额
    CentOS中配置SoftWareRaid磁盘冗余阵列
    CentOS添加磁盘分区
    CentOS源码包安装apache、nginx服务
  • 原文地址:https://www.cnblogs.com/python-cat/p/11634824.html
Copyright © 2011-2022 走看看