1,http.server.localtion語法css
基本語法: location [=|~|~|^~]/uri/{...}
= 嚴格匹配, 若是這個查詢匹配,將中止搜索並當即處理此請求
~ 區分大小寫匹配(可用正則表達式)
~ 不區分大小寫匹配(可用正則表達式)
!~ 區分大小寫匹配
!~* 不區分大小寫匹配
^~ 若是把這個前綴用於一個常規字符串,那麼告訴nginx若是路徑匹配那麼不測試正則表達式html
location = /{
#只匹配/查詢
}nginx
location /{
#匹配任何查詢,由於全部請求都以/開頭。可是正則表達式和長的塊規則將被優先查詢匹配
}正則表達式
location ^~ /images/{
#匹配任何以/images/開頭的查詢並中止搜索。任何正則表達式將不會被測試。
}tomcat
location ~*.(gif|jpg|jpeg)${
#匹配任何以gif|jpg|jpeg結尾的請求
}ide
location ~*.(gif|jpg|swf)${
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if($invalid_referer){
#防盜鏈
rewrite ^/ http://$host/logo.png;
}
}測試
2,分離動態頁面和靜態頁面案例
主機server0上配置一個Nginx
upstream statics{
server server1:80 weight=1; #訪問配置了靜態頁面的nginx
server server2:80 weight=1; #訪問配置了靜態頁面的nginx
server server3:80 weight=1; #訪問配置了靜態頁面的nginx
}
upstream tomcats{
server server1:8080 weight=1; #訪問tomcat
server server2:8080 weight=1; #訪問tomcat
server server3:8080 weight=1; #訪問tomcat
}url
server{
listen 80;
server_name server0;
access_log off;code
location ~* \.(png|html|js|css)$ { proxy_pass http://statics; #全部以.png .html .js .css結尾的url進入此路徑 } location / { proxy_pass http://tomcats; #其它url進入此路徑 }
}
主機server0,server1, server2上分別配置nginx 和 tomcat(略)
server{
listen 80;
server_name s101;
location / {
root html; #存放了靜態頁面的根目錄
index index.html index.htm; #主頁
}
}server