我想在我的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的文档.