• Nginx详解二十五:Nginx架构篇之Nginx常见的问题


     

    Nginx常见的问题

    1、相同server_name多个虚拟主机优先级访问,是按读取文件的优先级来排序

    在/opt/app/下准备3个code文件夹,下面放入3个html文件,里面的内容分别是code1下对应server1...

     

    在/etc/nginx/conf.d/下准备了3个conf文件

    diff看一下区别,server1就指定code1...

    检查语法,并重载
    nginx -tc /etc/nginx/nginx.conf
    nginx -s reload -c /etc/nginx/nginx.conf

    访问,是server1

    把server1改成server5再重启再访问

    检查配置,重启

    访问变成server2

     

    2、location匹配优先级

    = 进行普通字符精确匹配,也就是完全匹配
    ^~表示普通字符匹配,使用前缀匹配
    ~ ~* 表示执行一个正则匹配()
    精确匹配和前缀匹配优先级是最高的,一旦匹配到一个就直接走此location,则不会再往下匹配
    正则匹配就算匹配到一个 location,也还是会接着匹配,看时候还有比当前location更完整,更匹配的location存在,后面没有了,才匹配本身

    检查配置并重载

    访问,此时匹配到code1以后,就不再往下匹配了

     

    把code1的location注释掉

    检查语法并重载

    再访问,变成server2

    匹配到了最下面那个

     

    把code2的location也注释掉

    检查并重载

    访问,这个时候才能访问到server3

     

     

    3、try_files使用

    try_files用于按顺序检测文件是否存在,如果存在就返回文件内容,如果不存在,则进行配的对应规则

    在/opt/app/code/cache下放一个html文件

    配置conf文件

    把之前的location全部注释掉,重新添加两个location

    配置为,根据url去找对应信息,如果没找到就@java_page,java_page会去访问9090

    重启tomcat9090,检查配置并重启Nginx,浏览器访问,出来的是page1

     

     

    把page1挪走,就会触发try_files的自定义规则匹配,访问page3

     

     

    4、Nginx的alias和root区别

     

     root:指定程序的目录在哪一个位置

     

    alias:

     

    5、用什么方法传递用户真实的IP

    和第一级代理取得联系,约定一个头信息,代理1在Nginx头信息里面加上对应的名称信息,如set x_real_ip=$remote_addr,设置号以后,带着这个头信息传给后面的代理,一直到后端服务器,就可以取到x_real_ip的值,即用户真实IP

     

    6、Nginx常见问题


    Nginx:413 Request Entity Too Large
    请求的内容太大了
    解决办法:用户上传文件限制修改:client_max_body_size

    502 bad gateway
    后台网关错误(后端服务无响应,如:把tomcat关掉再访问)

    504 Gateway Time-out
    后端服务执行超时(数据库取数据很慢的时候、后端负载很高、连接超时),Nginx默认的等待时间是60秒,超过60秒Nginx就会返回504

     

  • 相关阅读:
    3d max 动作Take 001改名
    Lua代码规范
    Unity Editor 下创建Lua和Text文件
    Unity 5 Stats窗口
    Unity与安卓开发的一些路径知识
    Unity Remote 无法连接
    常见胸肌问题解答(五):下缘不够清晰
    常见胸肌问题解答(四):胸肌块形不够宽
    杠铃卧推:平板、上斜、下斜杠铃卧推动作图解教程
    常见胸肌问题解答(二):上胸不够发达
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10545066.html
Copyright © 2020-2023  润新知