nginx 配置(nginx详细配置教程),本文通过数据整理汇集了nginx 配置(nginx详细配置教程)相关信息,下面一起看看。

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

=开头表示完全匹配

~开头是指uri以常规字符串开头,可以理解为匹配url路径。Nginx不编码url,所以请求是/static/20%/aa,可以用规则^~ /static//aa(注意是空格)匹配。

~开头表示区分大小写的常规匹配。

~ *以不区分大小写的常规匹配开始。

!~还有!~ *分别是区分大小写和不区分大小写的不匹配。

/通用匹配,任何请求都会被匹配。

在多位置配置的情况下,匹配顺序是(来自参考资料,没有经过实际验证,随便试试,don # t坚持,仅供参考):

第一次匹配=,第二次匹配~,按照文件中的顺序第二次常规匹配,最后给/常规匹配。当匹配成功时,停止匹配,并根据当前匹配规则处理请求。

例如,有以下匹配规则:

位置=/{

#规则A

}

location=/login {

#规则B

}

位置^~/静态/{

#规则C

}

位置~。(gif|jpg|png|js|css)$ {

#规则D

}

位置~*。巴布亚新几内亚$ {

#规则E

}

位置!~ .xhtml$ {

#规则F

}

位置!~* .xhtml$ {

#规则g

}

位置/{

#规则h

}

那么效果如下:

对根目录/的访问,比如http://localhost/,将匹配规则a。

对http://localhost/login的访问将匹配规则B,而http://localhost/register将匹配规则h。

对http://localhost/static/a.html的访问将匹配规则c。

访问http://localhost/a.gif,3358localhost/b.jpg会匹配规则D和规则E,但规则D优先,规则E不t工作,http://localhost/static/c.png首先匹配规则C。

对http://localhost/a.PNG的访问匹配规则E,但不匹配规则D,因为规则E不区分大小写。

访问http://localhost/a.xhtml将不匹配规则F和规则G,http://localhost/a.XHTML将不匹配规则G,因为它不区分大小写。规则f,规则g属于排除法,符合匹配规则但可以不匹配,所以想想实际应用中会用到哪里。

访问http://localhost/category/id/1111最终匹配规则H,因为上面的规则都不匹配。这时nginx要把请求转发给后端的应用服务器,比如FastCGI(php)、tomcat(jsp),nginx是作为一个方向代理服务器存在的。

所以在实践中,我认为匹配规则至少有三种定义,如下:

#直接匹配网站的根,通过域名访问网站首页的频率更高。官方网站称,使用这个将加快处理速度。

#这个直接转发到后端应用服务器,也可以是静态主页。

#第一个要求的规则

位置=/{

proxy _ pass http://Tomcat:8080/index

}

#第二个需要的规则是处理静态文件请求,这是nginx # 作为http服务器的优势。

#有两种配置模式,目录匹配或后缀匹配。选择一个或一起使用。

位置^~/静态/{

root/webroot/static/;

}

位置~*。(gif|jpg|jpeg|png|css|js|ico)$ {

root/webroot/RES/;

}

#第三个规则是通用规则,用于将动态请求转发到后端应用服务器。

#非静态文件请求默认为动态请求,可以根据实际情况把握。

#毕竟随着目前一些框架的流行,很少有用。php和。jsp后缀。

位置/{

proxy_pass http://tomcat:8080/

}

nginx的其他配置信息介绍

第三,重写语法

最后——基本上都用这面旗。

中断-中止重连线,不再继续匹配。

重定向返回临时重定向302的HTTP状态

永久返回永久重定向301的HTTP状态。

1.下面的表达式可以用来判断:

-f和!-f用于确定文件是否存在。

-d和!-d用于确定目录是否存在。

-e和!-e用于确定文件或目录是否存在。

-x和!-x用于确定文件是否可执行。

2.以下是可用于判断的全局变量

示例:3358 localhost:88/test1/test2/test . PHP

$host:本地主机

$服务器端口:88

更多nginx 配置(nginx详细配置教程)相关信息请关注本站。