前言:
Nginx网站架构实战------01、Nginx介绍及编译安装:传送门
Nginx网站架构实战------02、Nginx信号量:传送门
Nginx网站架构实战------03、nginx虚拟主机配置:传送门
Nginx网站架构实战------04、nginx日志管理:传送门
Nginx网站架构实战------05、nginx定时任务完成日志切割:传送门
location 语法 {#location-语法}
location 有"定位"的意思, 根据Uri来进行不同的定位。
在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上。
比如, 碰到.php, 如何调用PHP解释器? --这时就需要location
[sourcecode language="plain"]
location [=|~|~*|^~] patt {
}
location = patt {} [精准匹配]
location patt{} [一般匹配]
location ~ patt{} [正则匹配]
[/sourcecode]
location精准匹配
[sourcecode language="plain"]
[root@tiejiang nginx]# cat /var/www/html/index.htm #先找一个测试页面放在/var/www/html目录下
<html>
wecome to z.com:8080 admin panel
</html>
[root@tiejiang nginx]# vim conf/nginx.conf
location =/ { #用#来做精准匹配
root /var/www/html/; #为了和下面的做区别,这里指向/var/www/html/目录
index index.htm index.html;
}
location / {
root /usr/local/nginx/html/;
index index.html index.htm;
}
[root@tiejiang nginx]# ./sbin/nginx -s reload #重新加载一下配置文件
如果访问http://xxx.com/
定位流程就是
1、精准匹配中 "/",得到index页为index.htm
2、再次访问/index.htm,此次内部转跳uri已经是"/index.htm",根目录为/usr/local/nginx/html/
3、最终结果访问了/usr/local/nginx/html/index.htm
[root@tiejiang nginx]# vim conf/nginx.conf #这次精准匹配到文件inde.htm
location = /index.htm {
root /var/www/html/;
index index.htm index.html;
}
location / {
root html;
index index.html index.htm;
}
[/sourcecode]