我想在我的Nginx配置文件中编写一些更复杂的条件,但我对语法不太确定,除了示例中的基础知识之外,我找不到描述你还能做什么的文档,我似乎在Nginx论坛或邮件列表中找不到这个。
例如,我是否可能有unless条件?
发布于 2017-10-25 03:29:03
所以我是nginx的新手,也有同样的问题。事实证明,上面提到的语言的语法既是自定义的,实际上也非常简单。NGINX文档中的语法是captured in a section,为了方便起见,在这里重复:
nginx由模块组成,这些模块由配置文件中指定的指令控制。指令分为简单指令和块指令。一个简单的指令由名称和参数组成,用空格分隔,并以分号(;)结束。block指令与简单指令具有相同的结构,但它不是以分号结尾,而是以一组附加指令结尾,并用大括号({和})括起来。如果块指令可以在大括号内有其他指令,那么它被称为上下文(例如: events、http、server和location)。
放在配置文件中任何上下文之外的指令都被认为是在主上下文中。事件和http指令位于主上下文中,服务器位于http中,位置位于服务器中。
#符号后一行的其余部分被视为注释。
总结: NGINX配置文件中的所有内容都是一个可以引用变量的指令。所有指令都是listed alphabetically here,所有变量都是listed alphabetically here。NGINX配置是由模块驱动的,每个模块都实现了特定的功能,并且每个模块都提供了可在配置中使用的指令和变量。就这样。
这就是为什么即使是if --看起来像传统编程语言中的关键字--实际上也只是ngx_http_rewrite_module module提供的一个指令。
希望这能有所帮助!
PS -也可以查看https://devdocs.io/,特别是https://devdocs.io/nginx,以获得更好的搜索/使用NGINX文档的方式。
发布于 2014-04-08 15:53:02
Nginx conf文件是用自己的语言或语法编写的。我在下面介绍了一些基础知识。这些是我个人从Mastering Nginx上摘录的笔记
基本格式
基本文件被分成几个部分
:
<section> {
<directive> <parameters>;
}全局参数
没有在上面描述的标准格式中定义,它没有{}包围全局部分。它被放在配置文件的顶部
重要的全局参数
用户-工作进程运行的用户和组。如果忽略组,则等于用户使用的组
worker_processes -启动的工作进程数。它们处理来自客户端的连接。作为CPU限制负载的规则,该值应等于处理器数量,而对于I/O限制负载,该值应乘以1.5或2
error_log - error_logs的位置。可以在指令中被覆盖。第二个参数表示日志调试的级别(仅当调试编译时配置的模块时可用)、信息、通知、警告、错误、严重、警报和紧急。
pid -写入主进程的进程ID的文件,覆盖已编译的默认值。
worker_connections -配置工作进程可以同时打开的最大连接数。在反向代理服务器上尤其重要-可能需要在操作系统级别进行一些额外的调整,才能达到这个同时连接的数量。
使用包含文件的可以在配置文件中的任何位置使用
包括/opt/local/etc/nginx/mime.types;
路径中可能出现通配符以匹配多个文件: include /opt/local/etc/nginx/vhost/*.conf;
通过调用NGINX可以很容易地测试配置文件,如下所示: nginx -t -c
Http部分将是最常用的部分。
发布于 2010-05-30 05:07:26
Nginx配置文件是用一种为Nginx配置文件设计和实现的语言(如果你想叫它的话)编写的。文档可能是源代码本身之外的唯一可用参考。我会从在Nginx forums上发布一条消息开始,或者加入Nginx mailing list并在那里询问。当然,您也可以获取源代码并从那里开始。
祝好运。
https://stackoverflow.com/questions/2936260
复制相似问题