Nginx踩坑记录 配置文件中的include不能嵌套 (include的文件里不能再include其他文件了)

上一篇文章介绍了配置文件有多个位置,并且可以采用include实现主配置文件+分文件的个性化配置模式:Nginx配置文件 所在路径 到底在哪?_身价五毛的博客-CSDN博客

然后就又踩坑了,include不能嵌套调用,即: 

如果配置文件是 A.conf ,在A中包含了 include B.conf;  语句,则不能再细分一个 C.conf,使得B文件中包含 include C.conf 语句。

也就是说,nginx在读取配置文件时,只能识别一次 include 语句,并将分配置文件包含进来。include 在调用栈内只能加载一次,但同一个配置文件可以有多个include语句,即主配置文件可以include多次,并且一次include也可以在后面跟多个文件(include *.conf; include A.conf; include B.conf; include C.conf; ...),但这些语句都必须在主配置文件中,具体下面的每个分配置文件不能再次使用include了。

不知道为什么要这样设计,可能是避免循环调用导致无限嵌套,配置文件无限长的情况发生。

太坑了,不知道后续nginx会不会考虑修复。针对这一问题,nginx在运行时不会进行任何提示,测试也是可以通过的。

nginx -t

使用上述语句测试配置文件,嵌套include不会有提示,也不会提示第二次include及以后include的配置文件不会生效。nginx可以正常启动,在实际使用过程中才会发现配置未生效的问题。

nginx环境: 

nginx version: nginx/1.10.3 (Ubuntu)

顺便查了下如何提Issue,有点麻烦:

中文社区:开源Web服务提供商 - NGINX开源社区  可以提问等待答复。

官网:nginx: support  需要先订阅,再通过邮件反馈,等待答复。

Mailing lists can be browsed. To post to a mailing list, an e-mail address that will be used for posting must first be subscribed.

Include的用法(重申)

只要include的文件自身语法正确,include可以随意使用,并正确启动nginx。

include文件路径可以是绝对路径,也可以是相对路径,相对路径以nginx.conf(主配置文件)为基准,同时可以使用通配符(例如使用 *.conf 代表所有文件名)。

示例 

# 绝对路径
include /etc/conf/nginx.conf
# 相对路径
include conf/component.conf
# 通配符
include *.conf

参考教程:

Nginx include 主子配置文件 - 简书注意root权限创建相关配置1、创建conf目录 2、创建server配置文件 写入server部分配置内容 3、nginx.conf中http下添加include配置 配置...https://www.jianshu.com/p/5d35a27da411

nginx的include_nginx include_backzy的博客-CSDN博客一台服务器配置多个网站,如果配置都写在nginx.conf主配置文件中,会导致nginx.conf主配置文件变得非常庞大而且可读性非常的差。那么后期的维护就变得麻烦。假设现在希望快速的关闭一个站点,该怎么办? 1.如果是写在nginx.conf中,则需要手动注释,比较麻烦 2.如果是include的方式,那么仅需修改配置文件的扩展名,即可完成注释 Include包含的作用是为了简化主配置文件,便于阅读。inlcude /etc/nginx/online/*.conf  #线上使用的配置mv /ethttps://blog.csdn.net/cmdd_/article/details/108622689

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350522.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Vulkan内存模型+管理

前言 最近在研究Vulkan,在Vulkan中使用内存是个麻烦的过程,而且容易用错,今天就给大家分享下Vulkan的内存模型。 内存,在任何时候都是个稀缺的资源,内存管理更是个让人望而却步的事情。在这个崇尚用户体验的今天&…

自学测试半年,终于收到了字节的offer,那一刻我哭出了声...

我是一名毕业于普通一本的化学专业学生,毕业的两年时间里,我一直奔波在化工厂里。每天工作三班倒,下了班就是一包烟一瓶酒,生活过得非常堕落。 原本想着虽然每天很累,但是至少稳定。然而没有想到的是,化工…

注册表启动项设置方法

1、按winr,打开运行输入框,输入regedit,打开注册表。 2、在注册表输入框中复制下面路径: \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 3、新增一条开机启动项 右键 -新建-字符串值,修改启动项…

计算机启动项在什么地方找,W7系统注册表开机启动项在哪里

开机启动项除了可以使用MSConfig命令打开以外,也能使用第三方工具、注册表查看开机启动项,因为数值的存在,注册表看到的启动项比较准确。为了个人信息安全,使用注册表编辑开机启动项以更好的杜绝病毒自启动。阅读下文了解w7系统注…

WIN10 注册表添加启动项

1、打开运行,输入“regedit”,打开注册表。 2、在注册表中找到如下位置\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,右键“Run”新建一个字符串类型的键值。 3、右键新建的键值,选择“修改”,将数值名称…

WINDOW 注册表添加启动项

注册表添加启动项 1、打开运行,输入“regedit”,打开注册表。 2、在注册表中找到如下位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,winwin7.com右键“Run”新建一个字符串类型的键值。 3、右键新建的键值&…

修改注册表开机启动项

首先我们启动项的位置,它有两个一个是user一个是michine我们先来看HKEY_CURRENT_USER下面的,打开注册表方式非常简单笔记本winR台式机可以直接点击开始运行输入regedit 找到注册表之后依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVe…

win10添加开机启动项_Windows系统注册表添加开机启动项

Windows 7系统我们可以把需要开机启动的软件把快捷键放到(开始/程序/启动)就可以了,而Windows 10系统没有(开始/程序/启动)启动项,我们要添加软件开机自动启动就需要到注册表添加修改,而注册表里面添加启动项有两个类型, 1、[HKEY…

屏蔽360阻止远程执行变更注册表自启动数据的办法

屏蔽360阻止远程执行变更注册表自启动数据的办法 运程服务器上的程序,由于需要。我在服务器中,加入更新升级自身(exe)文件,并变更操作系统自启动数据的代码。 实践证明,通过客户端,调用运程服务…

实验一——病毒注册表操作

【实验内容】 (1)强制隐藏.exe文件的扩展名 刚开始应用程序的exe扩展名都是可见的 1、注册表项:HKEY_CLASS_ROOT\exefile, 2、新建字符串值:取名为NeverShowExt。 用Mytool工具: 直接在注册表中添加 …

win7系统注册表开机启动项如何打开?

在运行窗口输入MSConfig命令不仅可以打开开机启动项,也能使用第三方工具、注册表查看开机启动项,注册表看到的启动项比较准确。而且使用注册表编辑开机启动项以更好的杜绝病毒自启动。一些win7的用户反馈说不知道win7系统注册表开机启动项如何打开&#…

揭秘广告投放的9大关键环节,了解真相让你成为广告投放高手!

正式开始本章的内容之前,先来简单复习一下上一章的主要内容: 核心要点1:广告投放的意义主要有三点:传播品牌、宣传产品、促成转化; 核心要点2:广告投放的主要流程有这样 9 个阶段: 本章我们以…

(栈和队列) 1047. 删除字符串中的所有相邻重复项 ——【Leetcode每日一题】

❓1047. 删除字符串中的所有相邻重复项 难度:简单 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回…

【阿里内部教程】python初阶:基础语法 python全栈自动化测试系类

目录 很多小伙伴可能都没有看过凡哥的视频,所以大家可能对凡哥不是很了解这里先和大家来个自我介绍 凡哥我已经有着十二年互联网自动化测试和测试开发工程师,拥有丰富的自动化测试平台及测试开发经验,擅长接口测试、Python自动化全栈&#x…

前端面试题——Vue 高频

目录 一、Vue的基本原理 二、双向数据绑定的原理 三、MVVM、MVC、MVP的区别 四、Computed 和 Watch 的区别 五、Computed 和 Methods 的区别 六、v-if 和 v-show的区别 七、data为什么是一个函数而不是对象 八、Vue 单页应用与多页应用的区别 九、对 React 和 Vue 的理…

今天面了个字节跳动拿30k出来的测试大佬,让我见识到了什么是天花板

2022年堪称大学生就业最难的一年,应届毕业生人数是1076万。失业率超50%! 但是我观察到一个数据,那就是已经就业的毕业生中,计算机通信等行业最受毕业生欢迎! 计算机IT行业薪资高,平均薪资是文科其他岗位的…

Proxifier+secureCRT建立隧道

一、Proxifier新建规则 1、新建服务 这里端口自己随便填。 2、新建规则 二、secureCRT设置端口转发 注意,这里端口选择与proxifier设置的端口一致 初步理解是:本地无法直接访问上海数据库,但是可以通过secureCRT连接的跳板机进行访问。该设…

Proxifier实现抓包

Proxifier实现抓包 通过Proxifier代理实现抓包,如微信小程序 burpProxifier微信小程序 burp设置: 微信小程序: 1.查看任务管理器 2.找到已打开的小程序名,右键打开该程序的路径(选择打开文件所在的位置&#xff09…

proxifier软件最新安装教程

目录 一、官网地址 二、软件介绍 三、软件下载 四、安装步骤 一、官网地址 官网地址:https://www.proxifier.com/ 二、软件介绍 Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理…

Proxifier安装与使用

Proxifier安装与使用 1.Proxifier官网可能打不开,这是一个下载地址,提取码为p1l8。 用户名随意填 注册码下边 5EZ8G-C3WL5-B56YG-SCXM9-6QZAP G3ZC7-7YGPY-FZD3A-FMNF9-ENTJB YTZGN-FYT53-J253L-ZQZS4-YLBN9 三选一 2.安装完毕后,在Profier菜…