Nginx极客时间:配置文件的通用语法

本文详细介绍了Nginx的配置语法,包括配置文件结构、指令、指令块和正则表达式的使用。讲解了http、upstream、server和location指令块的作用,以及如何通过include、limit_req_zone等指令进行配置。同时,举例说明了如何设置缓存和限制请求速率,帮助理解Nginx配置的灵活性和强大功能。

Nginx配置语法:

Nginx的 nginx.conf 配置文件是一个 ASCII 的文本文件,配置文件的语法如下:

  1. 配置文件由 指令 和 指令块 组成;
  2. 每条指令以 ; 分号结尾,指令与参数间以空格符号分隔;
  3. 指令块以 { } 大括号将多条指令组织在一起;
  4. include语句允许组合多个配置文件以提升可维护性;
  5. 使用 # 符号添加注释,提高可读性;
  6. 使用 $ 符号使用变量;
  7. 部分指令的参数支持正则表达式。


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配置文件的指令块有四种类型:

  1. http { } 指令块 中的所有指令,都是要由HTTP模块去解析;

  2. upstream { } 指令块用来描述上游服务器,如Tomcat;

  3. server { } 指令块 对应的是一个域名,或者一组域名;

  4. location { } 指令块 表示的是一个URL表达式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值