nginx学习(六) 负载均衡、反向代理、rewrite

一、反向代理
1、反向代理优点
降低应用服务器压力
动静分离、负载均衡
反向代理:http proxy模块 实现

2、反向代理实例
upstream baidu.com{#负载均衡
    server 1.1.1.1 weight=5;
}
server{
    location /{
        proxy_pass    " http://baidu.com"
    }
}
3、
location下,没有配置代理,默认找root属性对应的路径下加载
server{
    root /var/html/
}

location ~* .*\.(jpg|png)${
    if(-f $request_filename){#如果请求文件存在
        expires 1d;#缓存1d
        break;
    }
}

#定位到不同路径下
location ~* .*\.(html|htm)${
    root /var/html2
}


二、负载均衡模块
1、
upstream baidu.com{#负载均衡
    server 1.1.1.1 weight=5;
}


三、rewrite模块
可以将真实路径隐藏,将用户访问的路径转换为真实路径
1、
location ~* .*\.(jpg|png)${}
~*(不区分大小写)
.*(.表示任意字符;*表示任意多个字符)
\.(\转义)

2、捕获()内的任何文本,提取出变量
^(.*)(hello|world)$
请求中有,hehe world捕获的结果:$1=hehe &2=world
因为有两个括号,生成两个变量

3、rewrite 
location /download/ {
    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 
}

last 完成重写指令,之后搜索相应的url或location
rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;

4、
注: 对花括号( { 和 } )来说, 他们既能用在重定向的正则表达式里,也是用在配置文件里分割代码块, 为了避免冲突, 正则表达式里带花括号的话,应该用双引号(或者单引号)包围。比如,要将类似以下的url
/photos/123456 
重定向到:
/path/to/photos/12/1234/123456.png 
可以用以下方法 (注意双引号):
rewrite  "/photos/([0-9] {2})([0-9] {2})([0-9] {2})" /path/to/photos/$1/$1$2/$1$2$3.png; 

5、内部重定向
server{
    server_name /abc/ {
        location ^/abc/(.*)$ /bcd/$1
    }
    location /bcd/{
        internal;
        root var/html2
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值