Nginx配置语法:
Nginx的 nginx.conf 配置文件是一个 ASCII 的文本文件,配置文件的语法如下:
- 配置文件由 指令 和 指令块 组成;
- 每条指令以 ; 分号结尾,指令与参数间以空格符号分隔;
- 指令块以 { } 大括号将多条指令组织在一起;
- include语句允许组合多个配置文件以提升可维护性;
- 使用 # 符号添加注释,提高可读性;
- 使用 $ 符号使用变量;
- 部分指令的参数支持正则表达式。
Nginx语法示例:
http {
include mime.types;
upstream thwp {
server 127.0.0.1:8000;
}
server {
listen 443 http2;
# Nginx配置语法
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
location ~* \.(gif | jpg | jpeg) $ {
proxy_cache my_cache;
expires 3m;
proxy_cache_key $host $uri $is_args $args;
proxy_cache_valid 200 304 302 id;
proxy_pass http://thwp;
}
}
}
备注:
http {
include mime.types; # 这是一个指令
} # http { } 这就是一个指令块
有些指令块可以有名字,例如:
upstream thwp {
}
而有些指令块是没有名字的,例如:
http {
server {
}
}
至于指令块是否有名字,是由提供指令块的Nginx模块来决定的。
(例如:HTTP 模块提供的指令块 http{} 是没有名字的,而 UPSTREAM 模块提供的指令块 upstream{} 是有名字的。)
location ~* \.(gif | jpg | jpeg) $ {
expires 3m; # 3m表示时间为3分钟
} # location后面使用的就是一条正则表达式
Nginx配置文件的指令块有四种类型:
-
http { } 指令块 中的所有指令,都是要由HTTP模块去解析;
-
upstream { } 指令块用来描述上游服务器,如Tomcat;
-
server { } 指令块 对应的是一个域名,或者一组域名;
-
location { } 指令块 表示的是一个URL表达式。
本文详细介绍了Nginx的配置语法,包括配置文件结构、指令、指令块和正则表达式的使用。讲解了http、upstream、server和location指令块的作用,以及如何通过include、limit_req_zone等指令进行配置。同时,举例说明了如何设置缓存和限制请求速率,帮助理解Nginx配置的灵活性和强大功能。
998

被折叠的 条评论
为什么被折叠?



