nginx 中级篇-学习笔记

一、nginx作为代理服务器

1、正向代理和反向代理:

正向代理:代理服务于客户端;

反向代理:代理服务器服务于服务器端;比如做nginx做负载均衡。

反向代理:

location ~ /url.html {

proxy_pass  http:/127.***:8080/

}

二、nginx rewrite 规则

作用:

1)用来重定向页面;兼容性支持;

2)SEO优化;

3)维护:  挂后台维护页面;

    rewrite ^(.*)$ /pages/maintain.html break;

1、正则表达式(简单的介绍下)

.   匹配除换行符以外的任意字符;

? 重复0次或1次

+ 重复1次或更多次

* 最少连接数, 那个机器连接数少就分发

\d  匹配数字

^  匹配字符串的开始

$  匹配字符串的结束

{n} 重复n 次

{n,}重复n次或更多次

[c] 匹配单个字符c    [a-z]匹配a-z小写字符的任意一个

\  转义字符 。 rewite  index\.php$       匹配的  index.php  
 
^~ 开头表示uri以某个常规字符串开头,不是正则匹配

~ 开头表示区分大小写的正则匹配;

~* 开头表示不区分大小写的正则匹配

/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到

()  用于匹配括号之间的内容, 通过$1 $2调用

if ($http_usr_agent  ~MSIE){

    rewrite ^(.*)$  /site/$1   break;

}
server {
        listen       80;
        server_name  localhost;

    #拦截uri以tomcat_8080开头
        location ^~ /tomcat_8080/ {
            proxy_pass http://127.0.0.1:8080/;
            index  index.html index.htm;
        }

    #拦截uri以tomcat_8081开头
    location ^~ /tomcat_8081/ {
            proxy_pass http://127.0.0.1:8081/;
            index  index.html index.htm;
        }
    }

 

学习终端测试命令: pcretest

2、flag

last    停止rewrite 检查, 会继续往下匹配location

break   停止rewrite检查,不会往下location 进行匹配,有可能出现页面找不到的情况;

redirect    临时302重定向

permanent   永久重定向

root  /opt/app/code;
location ~ ^/break {
    rewrite ^/break  /test/ break;   #把/break 开头的跳转到 /test/ 页面, 停止往下匹配location
}
location ~ ^/last{
    rewrite ^/last  /test/ break;     #把/last 开头的的 跳转到  /test/ 页面
}
location  /test/ {
    default_type application/json;
    return 200 '{"status": "success"}'
}

 

三、geoip_module 模块

该模块用来:基于iP地址匹配maxMind GeoIP二进制文件, 读取ip所在的位置;

可以用来区分国内外http访问规则;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值