nginx的认识

bug之所措

前言

记录我目前工作上遇过的配置,写成文章只是为了方便,因为笔记没有可是化的markdown格式,哈哈哈

参考demo

server {
    listen 80;
    listen 443;
    listen 14000;
    
    # 注释注释
    location  /dddd/adar {
        if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
            add_header "Cache-Control" "max-age=$1";
        }
        alias /vdar/wdww/hdtml/rdadar/dddist/;
    }

    location ^~ /radar/camdddpaign-stdddatic/ {
        alias /vdar/wdww/hdtml/rdadar/dddist/;
    }

    location /status.html {
        return 200 "RUNNING";
    }
}

配置项

1.注释

井号后面写字

# 注释

2.监听

listen,监听的意思是,在这个端口号下面的所有请求,都会命中,然后走你下面的规则,首先要知道,我们再浏览器输入url,
比如https://www.baidu.com,是吧,百度地址,会进行域名解析最后变成,
比如https://199.199.199.199:3000/...,前面ip是你的服务器地址,端口就是这里的listen
其实写到这里的时候我突然有点疑惑,这个www到底是什么意思,因为我们访问百度就算不带www也是可以,然后我搜了一圈,www是算二级域名,访问带www的时候,只是也指向了一级域名baidu.com,然后再解析域名得出ip端口,所以最后才会变成我上面说的那个

listen 80;
listen 443;
listen 14000

这里的意思,监听这3个端口的网络请求,比如可能我a.html是放在端口80上,而b.html是放在443的端口上,我说放的这个意思,是文件,文件放在了服务器上

3.路径匹配

location 后面跟定义的路径

alias 请求资源的真实路径
(1)alias 只能作用在location中
(2)后面的路径必须/结束
(3)会替换掉命中的路径

root 请求资源的真实路径
(1)root可以存在server、http和location中
(2)对 ”/” 可有可无
(3)不会替换命中的路径

location  /dddd/adar {
        if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
            add_header "Cache-Control" "max-age=$1";
        }
        alias /data/w3/;
    }

比如这个规则,跟我之前写的vue配置正向代理的那个一样,例如
https://abc.com/dddd/adar/sta...
域名后的一个/开始,/dddd/adar命中规则,所以真正的请求会变成
/data/w3/static/index.html
这个是alias的作用,注意哦,它替换了/dddd/adar,替换了。
接下来是这种

location  /dddd/adar {
        if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
            add_header "Cache-Control" "max-age=$1";
        }
        root /data/w3;
    }

还是请求https://abc.com/dddd/adar/sta...,命中变成
/data/w3/dddd/adar/static/index.html
这个是root,他没有替换命中的规则

4.代理转发

proxy_pass,据查资料,用于转发请求,负载均衡,我自己理解,这个字段后面一般携带ip加端口,跟上面的root,alias不同,这两个也算是转发,不过转的还是这个端口的,而p这个就是直接转发其他的ip或者端口

举例三种情况
请求https://abc.com/test/good.html

location /test/ { 
    proxy_pass http://127.0.0.1:8080; 
    proxy_pass http://127.0.0.1:8080/;
    proxy_pass http://127.0.0.1:8080/img;
}

第一个,不会替换,带test
http://127.0.0.1:8080/test/go...
第二个,替换,去掉了test
http://127.0.0.1:8080/good.html
第三个,替换,去掉了test
http://127.0.0.1:8080/img/goo...

待续

阅读 237
361 声望
9 粉丝
0 条评论
361 声望
9 粉丝
文章目录
宣传栏