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

news/2025/2/12 23:17:24/

上一篇文章介绍了配置文件有多个位置,并且可以采用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://www.ppmy.cn/news/224811.html

相关文章

30天从入门到精通TensorFlow1.x 第四天,TensorFlow中的计算图或数据流图

文章目录 一、接前一天二、计算图或数据流图1. 什么是计算图或者数据流图2. 为什么需要计算图或者数据流图3. 执行顺序和延迟加载在tf中的使用 一、接前一天 这几天主要学习了张量的创建方法,以及变量,变量命名域共享变量等概念。今天主要熟悉 数据流图…

深圳市有什么靠谱的PMP机构推荐吗?

PMP项目管理专业人士资格认证是由美国项目管理协会(Project Management Institute,简称PMI)发起的。PMP作为世界级的项目管理认证证书,拥有着最先进的项目管理知识体系,它严格评估项目管理人员知识技能是否具有高品质的…

刷完它,最少17K,真的不能再少了····

金3银4已经过去了,金9银10也快来了,你找到工作了吗?薪资多少k?8K?13K?17? 最近有不少小伙伴在后台给我留言,说最近准备面试了,但是不知道从何下手! 既然大家…

使用geoserver发布shp和tiff数据

一、安装并启动geoserver服务 1.1 下载geoserver 进入官网下载 由于geoserver是使用Java语言开发的,所以运行需要java的环境,不同geoserver的版本号对java的版本要求不同,所以选择版本时需注意对应java的版本要求,由于我本地安…

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

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

JDK11+mybatis-plus+shardingsphere分库分表

1、引入jar dynamic-datasource-spring-boot-starter&#xff1a;2.5.6 sharding-jdbc-spring-boot-starter&#xff1a;4.1.1 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId>&…

新手小白正确使用WhatsApp,不愁没客户

做跨境外贸的朋友相必都知道WhatsApp吧&#xff0c;这是很多人开发海外客户的最常用工具&#xff0c;但却有很多新手苦于不知道怎么利用它去高效开发海外客户&#xff0c;所以龙哥今天就来教会大家用好 WhatsApp 这款工具。 如何利用WhatsApp高效开发客户 一、通过快速搜索电话…

2023年Django大二下学期期末复习

目录 注册app01 写视图函数 新建templates文件夹,在里面新建index.html 写路由,访问我们写的index页面