nginx conf文件是什么语言?

JP *_*shy 50 nginx

我想在我的Nginx配置文件中编写一些更复杂的条件,但我不确定语法,并且找不到描述除了示例中的基础之外可以做什么的文档,我似乎无法在Nginx论坛或邮件列表.

例如,我有可能unless有条件吗?

Ste*_*rpe 24

Nginx conf文件是用他们自己的语言或语法编写的.我已经在下面列出了一些基础知识.这些是我自己掌握的Nginx个人笔记

基本格式

基本文件分为几个部分

:

<section> {

  <directive> <parameters>; 

}
Run Code Online (Sandbox Code Playgroud)

全局参数

没有在上面描述的标准格式中定义,它没有{}周围的全局部分.它位于配置文件的顶部

重要的全球参数

user - 工作进程运行的用户和组.如果组省略,则等于用户使用的组

worker_processes - 已启动的工作进程数.他们处理来自客户的连接.作为CPU绑定负载的规则,这应该等于处理器的数量,并且I/O绑定的负载乘以1.5或2

error_log - error_logs的位置.可以在指令中覆盖.第二个参数表示日志调试的级别(仅在编译时配置调试mod时可用),信息,通知,警告,错误,暴击,警报和emerg.

pid - 写入主进程的进程ID的文件,覆盖已编译的默认值.

worker_connections - 配置工作进程可能已打开的最大并发连接数.在反向代理服务器上尤为重要 - 在操作系统级别可能需要进行一些额外的调整,以便达到此数量的同时连接.

使用包含文件 可以在配置文件中的任何位置使用

包括/opt/local/etc/nginx/mime.types;

通配符可能出现在匹配多个文件的路径中:include /opt/local/etc/nginx/vhost/*.conf;

通过调用NGINX可以很容易地测试配置文件,如下所示:nginx -t -c

Http部分将是最常用的部分.


sco*_*awg 18

所以我是nginx的新手,也有同样的问题.结果如上所述,语言的语法既是自定义的,也是非常简单的.语法在NGINX文档的一节捕获,为方便起见,在此处重复:

nginx由模块组成,这些模块由配置文件中指定的指令控制.指令分为简单指令和块指令.一个简单的指令包括由空格分隔的名称和参数,以分号(;)结尾.块指令与简单指令具有相同的结构,但它不是以分号结尾,而是以大括号({和})包围的一组附加指令结束.如果块指令在大括号内可以有其他指令,则称为上下文(示例:events,http,server和location).

在任何上下文之外放置在配置文件中的指令被认为是在主上下文中.事件和http指令驻留在主上下文中,服务器位于http中,位于服务器中.

#符号后面的其余部分被视为评论.

总结: NGINX配置文件中的所有内容都是可以引用变量指令.所有指令在此处按字母顺序列出,所有变量在此处按字母顺序列出.NGINX配置由每个实现某一功能的模块驱动,每个模块提供可在配置中使用的指令和变量.而已.

这就是为什么即使if-这看起来像是像一个传统的编程语言中的关键字-实际上只是一个指导贡献的ngx_http_rewrite_module 模块.

希望这可以帮助!

PS -还检查了https://devdocs.io/,特别https://devdocs.io/nginx,对于很多改进的方式搜索/使用Nginx的文档.


D.S*_*ley 10

Nginx配置文件使用为Nginx配置文件设计和实现的语言(如果要调用它)编写.有可能文档是源本身以外唯一可用的参考.我首先要在其中一个Nginx论坛上发布消息,或者加入Nginx邮件列表并在那里询问.当然,您也可以抓住源并从那里开始.

祝好运.