13,nginx 常见问题

1,相同的server_name多个虚拟主机优先级访问
在多个虚拟机里面假如有多个server_name,那么他们的优先级是什么?
例子:

#/etc/nginx/conf.d   文件夹夏敏文件排序方式
testserver1    testserver2.conf

#testserver1.conf
server{
    listen 80;
server-name testserver1    waliblog.com;
 location{
    root /opt/app/code1;
      index  index.html;
}
}
#testserver2.conf
server{
    listen 80;
server_name  testserver2  waliblog.com;
  location{
        root /opt/app/code2;
    index   index.html;

}
}

当多个相同的server_name时,nginx会按读取/etc/nginx/conf.d文件下面配置文件先后来决定的,所以testserver1.conf会被优先读取,会默认访问 /opt/app/code1

2,location匹配优先级
匹配规则 描述

=   进行普通字符精确匹配,也就是完全匹配
^~  表示普通字符匹配,使用前缀匹配
~ \~*   表示执行一个正则匹配(),(~)不区分大小写,(~*)区分大小写

优先级从高到低
实例:

    location =/code1/{
    rewrite ^(.*)$ /code1/index.html break1;
}
location ~/code.*{
    rewrite ^(.*)$ /code3/index.html breake1;
}
location ^~/code.*{
  rewrite ^(.*)$ /code2/index.html breake1;
}

nginx会优先匹配顺序第一个,第三个,第二个
3,try_files的使用:
按顺序检查文件是否存在
例子·,

  location / {
     try_files  $uri    $uri / / index.html;
}

首先会查找uri/,如果还不存在就会查看/index.html文件是否存在,存在则返回。不存在就会返回404
例子2


location / {
   root  /opt/app/code1/cache;
   try_files $uri @wail;
}
location @wail{
    proxy_pass http://127.0.0.1:8080;
}

4,alias和root区别
alias和root 都是定义访问根路径
root

   location /blog/image/ {
     root /opt/app/image;
}

当访问的路径是

当访问的路径是`[http://www.walidream.com/blog/image/cat.png](http://www.walidream.com/blog/image/cat.png)`时,实际上访问的路径是`[http://www.walidream.com/opt/app/image/blog/image/cat.png](http://www.walidream.com/opt/app/image/blog/image/cat.png)`


alias

location /blog/image/{
  root /opt/app/image/;
}
当访问的路径是`[http://www.walidream.com/blog/image/cat.png](http://www.walidream.com/blog/image/cat.png)`时,实际上访问的路径是`[http://www.walidream.com/opt/app/image/cat.png](http://www.walidream.com/opt/app/image/cat.png)`没有了`/blog/image/`路径。

5,如何获取用户的真实ip

12197462-9a45b36fb085af07.jpg
3.jpg

当客户端访问服务器时,不是直接访问,而是经过了层层代理之后访问的服务器,我们应该如何精准的获取客户端的ip?
在一级代理时设置x-Real_Ip=$remote_addr,然后在其他代理透传下去,就可以获取用户真实的ip;
6,nginx中常见的错误代码

6.nginx中常见的错误码
状态码 描述
301 永久重定向
302 临时重定向
403 禁止访问
404 未找到文件
413 用户上传文件限制client_max_body_size
500 服务器遇到错误,无法完成请求
502 后台服务无响应
504 后台服务执行超时

猜你喜欢

转载自blog.csdn.net/weixin_34236497/article/details/86958267