码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-03-17 01:07:37      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:负载   错误   限制   info   9.png   conf   body   span   虚拟   

 

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

 

 

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

标签:负载   错误   限制   info   9.png   conf   body   span   虚拟   

原文地址:https://www.cnblogs.com/zhongyehai/p/10545066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!