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常见的问题的更多相关文章

  1. Nginx详解二十九:基于Nginx的中间件架构设计

    基于Nginx的中间件架构 一:了解需求 1.定义Nginx在服务体系中的角色 1.静态资源服务 2.代理服务 3.动静分离 2.静态资源服务的功能设计 3.代理服务 二:设计评估 三:配置注意事项

  2. Nginx详解二十六:Nginx架构篇之性能优化

    一.性能优化考虑点 1.当前系统结构瓶颈 通过压力测试观察指标.日志检测.性能分析 2.了解业务模式 接口业务类型.系统层次化结构 3.性能与安全 二.ab接口压力测试工具 1.安装:yum -y i ...

  3. Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

    Nginx+Lua的安全waf防火墙 看一下别人写好的:https://github.com/loveshell/ngx_lua_waf 先安装git:yum -y install git 在/opt ...

  4. Nginx详解二十:Nginx深度学习篇之HTTPS的原理和作用、配置及优化

    一.HTTPS原理和作用: 1.为什么需要HTTPS?原因:HTTP不安全1.传输数据被中间人盗用.信息泄露2.数据内容劫持.篡改 2.HTTPS协议的实现对传输内容进行加密以及身份验证 对称加密:加 ...

  5. Nginx详解二十四:Nginx深度学习篇之灰度发布

    实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcach ...

  6. Nginx详解二十二:Nginx深度学习篇之Lua解释器安装及基础语法

    解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yu ...

  7. 【Java入门提高篇】Day34 Java容器类详解(十五)WeakHashMap详解

    源码详解系列均基于JDK8进行解析 说明 在Java容器详解系列文章的最后,介绍一个相对特殊的成员:WeakHashMap,从名字可以看出它是一个 Map.它的使用上跟HashMap并没有什么区别,所 ...

  8. Spring Boot 集成 FreeMarker 详解案例(十五)

    一.Springboot 那些事 SpringBoot 很方便的集成 FreeMarker ,DAO 数据库操作层依旧用的是 Mybatis,本文将会一步一步到来如何集成 FreeMarker 以及配 ...

  9. Nginx详解二十七:Nginx架构篇之安全篇

    1.常见的恶意行为:爬虫行为和恶意抓取.资源盗用 解决方案: 基础防盗链功能:不让恶意用户能轻易爬去网站对外数据 secure_link_module模块:对数据安全性提高,加密验证和失效性,适合核心 ...

随机推荐

  1. Webstorm通用设置

    常用快捷键 Ctrl+Alt+L : 格式化代码

  2. L3-1 二叉搜索树的结构 (30 分)

    讲解的很不错的链接:https://blog.csdn.net/chudongfang2015/article/details/79446477#commentBox 题目链接:https://pin ...

  3. protobuf 安装与卸载

    方法一:可以FQ 安装 下载https://github.com/google/protobuf/releases ##Source code (zip)## ./autogen.sh ./confi ...

  4. Android软键盘在清单文件中所有配置含义

    android:windowSoftInputMode 活动的主窗口如何与包含屏幕上的软键盘窗口交互.这个属性的设置将会影响两件事情: 1>     软键盘的状态——是否它是隐藏或显示——当活动 ...

  5. CF1139A Even Substrings

    题目地址:CF1139A Even Substrings 一个数是偶数等价于其最后一位为偶数(2/4/6/8/0) 从左往右扫一遍,如果一个数是奇数则直接跳过,偶数则加上它对答案的贡献 这里的贡献应该 ...

  6. 基于ATT和CK™框架的开放式方法评估网络安全产品

    场景 提供有关如何使用特定商业安全产品来检测已知对手行为的客观见解 提供有关安全产品和服务真实功能的透明度以检测已知的对手行为 推动安全供应商社区增强其检测已知对手行为的能力 地址 https://a ...

  7. Python3-进程

    进程 什么是进程 进程调度 进程的并行与并发 进程的创建与结束 在python程序中的进程操作 守护进程 进程同步(multiprocess.Lock) 进程间通信——队列 生产者消费者模型 进程池和 ...

  8. Ubuntu的内核转储工具【转】

    转自:http://www.cnblogs.com/wwang/archive/2010/11/19/1881304.html 在我的上一篇博文<Linux内核的Oops>的最后介绍到一个 ...

  9. 给你的Linux系统上点stress【转】

    转自:https://blog.csdn.net/sunvince/article/details/7187768 from: http://blog.yufeng.info/archives/202 ...

  10. configparser模块--配置文件

    该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 import configparser config = ...