a、location匹配分出path1和path2
http://process.enjoy.com/static/a.html —– path == /static/a.html
与 location /static 命中:path1 = /static ,剩余path2 = /a.html
b、代理转发path。
分两种,静态文件时,转给static处理模块 == 参数path
动态代理时,转给后台web服务器 == 参数path
root转整个path1+path2
alias只转path2
root方式.
http://process.enjoy.com/static/a.html —- 命中/static, path1=/static ,path2= /a.html
转整个path1+path2 给 静态文件处理模块
alias方式.
http://process.enjoy.com/target/a.html —- 命中/ target, path1=/ target,path2= /a.html
转整个path2 给 静态文件处理模块
c、nginx中内容生成,有两种:静态文件处理模块 和 proxy_pass转的第三方
http://process.enjoy.com/nginx/enjoy/getInfo,命中/nginx/enjoy,path1=/nginx/enjoy,path2=/getInfo。 proxy_pass http://172.17.0.4:8081;未关闭,此处传 path1+path2
http://process.enjoy.com/dynamic/nginx/enjoy/getInfo,命中/dynamic,
path1=/dynamic,path2=/nginx/enjoy/getInfo。
proxy_pass http://172.17.0.4:8081/;有关闭,此处只传path2
proxy_pass**的关闭与不关闭。针对ip+port**之后有没有/
d、内容生成部分,根据前面传过来信息,生成内容,返回页面。response功能
location运算符,优先级处理
1、只有 = 是精匹配,不会被正则覆盖
2、普通匹配,即使是完全匹配,也不是精准匹配
e、echo命令:它是一个内容生成模块(**content阶段)里的命令—echo出来的值,就是页面内容**
echo**命令,不是nginx**默认自带模块,是个第三方模块
echo**模块安装:**
下载:**wget** https://github.com/openresty/echo-nginx-module/archive/v0.60.tar.gz
解压:tar -zxvf v0.60.tar.gz
配置:
./configure –add-module=/usr/local/src/echo-nginx-module-0.60 –with-http_ssl_module –with-debug
编译&安装:
make && make install