当前位置 主页 > 服务器问题 > nginx问题汇总 >

    分析解答几个nginx问题

    栏目:nginx问题汇总 时间:2019-12-11 09:45

      1、当有多个server{}时应该先匹配哪个?
      (1)若请求同时命中多个server,则先从上到下,先匹配到哪个就算哪个。
      (2)若是分布在多个配置文件中,则在文件夹中摆放在前面的文件优先被读取。
      (3)而相同server_name多个虚拟主机优先级访问,是按读取文件的优先级来排序的。
      2、请问Nginx 服务器上的 Master 和 Worker 进程分别是什么
      (1)Master 进程:读取及评估配置和维持
      (2)Worker 进程:处理请求
      3、location匹配的优先级(= > ^ > ~* = ~)
      (1)“=”:表示进行普通字符精确匹配,也就是完全匹配
      (2)“^~”:表示普通字符匹配,使用前缀匹配
      (3)“~*”:表示执行一个正则匹配(不区分大小写)
      (4)“~”:表示执行一个正则匹配(区分大小写)
      说明:精确匹配和前缀匹配优先级是最高的,一旦匹配到一个就直接走此location,则不会再往下匹配
      正则匹配就算匹配到一个 location,也还是会接着匹配,举一个例子:
      
      4、nginx中常见的状态码
      (1)413 request entity too large:默认nginx会限制用户长传文件大小,如果想修改限制的文件大小可以使用client_max_body_size修改
      (2)502 bad gateway:一般为后端服务无响应。(比如反向代理到10.1.1.1,如果10.1.1.1没有响应则nginx会返给客户端502)
      (3)504 gateway time-out:为后端服务执行超时(nginx默认等待时间为60秒),超过60秒就返回504。