nginx配置学习备忘0
来源:互联网 发布:当下网络灰色收入 编辑:程序博客网 时间:2024/06/03 10:41
我nginx用来做反向代理。
location
refer: nginx location匹配规则,nginx rewrite 指令
location匹配命令
~ #波浪线表示执行一个正则匹配,区分大小写
~* #表示执行一个正则匹配,不区分大小写
^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
= #进行普通字符精确匹配
@ #”@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files
location 匹配的优先级(与location在配置文件中的顺序无关)
= 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。
普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。
^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。
最后匹配理带有”~”和”~*”的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。
例如:
#对 "/" 启用反向代理location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.py/$1 last; } }
上面代码是匹配任何请求,因为所有请求都是以”/”开始。
if指令
语法:if(condition){…}
默认值:无
作用域:server,location
对给定的条件condition进行判断。如果为真,大括号内的rewrite指令将被执行。if条件(conditon)可以是如下任何内容:
一个变量名;false如果这个变量是空字符串或者以0开始的字符串;
使用= ,!= 比较的一个变量和字符串
是用~, ~*与正则表达式匹配的变量,如果这个正则表达式中包含},;则整个表达式需要用” 或’ 包围
使用-f ,!-f 检查一个文件是否存在
使用-d, !-d 检查一个目录是否存在
使用-e ,!-e 检查一个文件、目录、符号链接是否存在
使用-x , !-x 检查一个文件是否可执行
rewrite中的$1,$2表示前面正则表达式匹配后的组,即正则表达式中以括号()包起来的部分。
rewrite
refer: Nginx——基本语法简介(初级篇)
rewrite表达式中可以用作判断的全局变量,示例如下:
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php
rewrite语法中几个常用的句型:
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
(总结)Nginx配置文件nginx.conf中文详解
- nginx配置学习备忘0
- Nginx安装配置备忘
- nginx配置备忘
- nginx 配置备忘
- django nginx 学习备忘
- nginx rewrite 学习备忘
- Nginx学习总结(5)——Nginx基本配置备忘
- nginx 0.8.38 安装配置备忘
- 【备忘】nginx 配置 某个路径代理
- nginx备忘
- nginx配置编译学习
- nginx基本配置学习
- Nginx 配置学习记录
- nginx基础配置学习
- nginx 0.8.38 Windows 下的安装配置备忘
- Debian环境 Python + Django + Nginx + uWSGI + MySQL 配置备忘
- 备忘-linux系统网络配置学习
- VS2010+OPENCV3.0配置备忘
- MATLAB Implementation: light-weight vs. heavy-weight
- 【codevs1519】过路费 mst+lca
- 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
- 如果使用swift,先不用pod
- this的使用方法
- nginx配置学习备忘0
- Java核心技术第5章(5)
- C++修改已输出的字符
- 【java】浅谈 Java 字符串(String, StringBuffer, StringBuilder)
- 10002---Trail ~ Goal
- 配置opencv2.411调试版本(debug)
- 无处不在的线性分解
- expect基础语法
- 第7周项目4-队列数组