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。