首页 技术 正文
技术 2022年11月20日
0 收藏 748 点赞 4,164 浏览 1265 个字

Nginx常见的问题

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

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

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

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

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

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

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

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

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

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

访问,是server1

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

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

把server1改成server5再重启再访问

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

检查配置,重启

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

访问变成server2

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

2、location匹配优先级

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

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

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

检查配置并重载

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

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

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

把code1的location注释掉

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

检查语法并重载

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

再访问,变成server2

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

匹配到了最下面那个

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

把code2的location也注释掉

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

检查并重载

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

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

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

3、try_files使用

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

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

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

配置conf文件

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

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

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

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

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

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

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

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

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

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

4、Nginx的alias和root区别

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

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

alias:

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

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

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

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

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901