码迷,mamicode.com
首页 > 其他好文 > 详细

nginx学习

时间:2016-07-20 13:47:14      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:proxy_pass nginx

[Location指令]

Location指令是NginxHttpCoreModule中的指令,localtion指令是对url进行匹配,URI即语法中的/uri/,可以是字符串,也可以是表达式,如果是正则表达式,则必须制定前缀。Location根据URL来应用不同的配置,这个指令允许根据不同的URI来应用不同的url配置。

[语法]

Location [=|~|~*|`~|@] uri {

….

}

[ = ] 精确匹配 0

~     区分大小写 3

~*    不区分大小写 2

^~    只匹配字符串,不匹配正则表达式 1

匹配顺序

=/XXXX/test.jpg

~* \.jpg$

/XXXX/test.jpg

^~ /XXXX/

/XXXX/

/

相同情况下 正则表达式优先级高

 

[proxy_pass指令]

Proxy_pass属于ngx_http_proxy_module模块汇总的指令,可以将请求转发给另外一台服务器。

官方说明:This module makesit possible to transfer requests to another server

 

[用法]

Location / {

Proxy_pass http://localhost/uri/

proxy_redirect     off;

proxy_set_header   Host             $host;#区分主机

#这个参数就是说客户端访问的时候,负载均衡会对RSIP一一对比否则就是访问第一个。

proxy_set_header   X-Real-IP        $remote_addr;#获取真实地址

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 获取客户端ip真实地址

#后端的服务器获取用户的主机名或者真实IP,以及代理者的真实IP

}

proxy_set_header:设置由后端服务器获取用户的主机名或真实IP地址,以及代理者的真实IP地址。

负载均衡的一种。

up_stream dynamic {

 

}

up_stream static {

 

}

一台动态网站

../dynamic

一台静态网站

../static

在location中加入

if ($http_user_agent ~* "android" ) {

 proxy_pass http://dynamic_pools

 

}

#安卓手机访问web,如果是iphone 则改成iphone,这样就是手机web。

因此使用proxy_pass可以实现动静分离,还能实现移动端跟web端的分离。



本文出自 “停止脚步等于慢性死亡” 博客,请务必保留此出处http://goforward.blog.51cto.com/11169198/1827954

nginx学习

标签:proxy_pass nginx

原文地址:http://goforward.blog.51cto.com/11169198/1827954

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!