概述
http.server.localtion语法
基本语法: location [=|~|~*|^~]/uri/{...}
=
严格匹配, 如果这个查询匹配,将停止搜索并立即处理此请求
~
区分大小写匹配(可用正则表达式)
~*
不区分大小写匹配(可用正则表达式)
!~
区分大小写匹配
!~*
不区分大小写匹配
^~
如果把这个前缀用于一个常规字符串,那么告诉nginx如果路径匹配那么不测试正则表达式
location = /{
#只匹配/查询
}
location /{
#匹配任何查询,因为所有请求都以/开头。但是正则表达式和长的块规则将被优先查询匹配
}
location ^~ /images/{
#匹配任何以/images/开头的查询并停止搜索。任何正则表达式将不会被测试。
}
location ~*.(gif|jpg|jpeg)${
#匹配任何以gif|jpg|jpeg结尾的请求
}
location ~*.(gif|jpg|swf)${
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if($invalid_referer){
#防盗链
rewrite ^/ http://$host/logo.png;
}
}
案例:分离动态页面和静态页面
主机s100上配置一个Nginx
upstream statics{
server s101:80 weight=1; #访问配置了静态页面的nginx
server s102:80 weight=1; #访问配置了静态页面的nginx
server s103:80 weight=1; #访问配置了静态页面的nginx
}
upstream tomcats{
server s101:8080 weight=1; #访问tomcat
server s102:8080 weight=1; #访问tomcat
server s103:8080 weight=1; #访问tomcat
}
server{
listen 80;
server_name s100;
access_log off;
location ~* .(png|html|js|css)$ {
proxy_pass http://statics;
#所有以.png .html .js .css结尾的url进入此路径
}
location / {
proxy_pass http://tomcats;
#其它url进入此路径
}
}
主机s100,s101, s102上分别配置nginx 和 tomcat(略)
server{
listen 80;
server_name s101;
location / {
root html; #存放了静态页面的根目录
index index.html index.htm; #主页
}
}
最后
以上就是优秀砖头为你收集整理的nginx配置详解--动静分离的全部内容,希望文章能够帮你解决nginx配置详解--动静分离所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复