Nginx系统学习 - 模块

Nginx官方模块

通过 nginx -V 可以查看编译参数,其中有我们编译包含的模块

limit_conn_module

连接频率限制

key:指要限制的纬度条件 比如 remote_addr
zone=name:size : 配置和申请的空间的zone名字,size是申请空间的大小1M 2M 10M

Syntax:limit_conn_zone key zone=name:size;
Default:–
Context:http

zone 需要调用申请zone的名字 ;number 限制并发的数量 比如1 同一时间只能允许1个
Syntax:limit_conn zone number;
Defauly: –
Context:http,server,localtion

limit_conn_zone $binary_remote_addr zone=conn_zone:1m;
server{
	...
	location / {
		root /opt/app/code;
		#限制服务端同一时刻只允许一个ip连接
		limit_conn conn_zone 1;
	}
	...
}

limit_req_module

请求频率限制

Syntax:limit_req_zone key zone=name:size rate=rate;
Default:–
Context:http

Syntax:limit_req zone=name [burst=number] [nodelay]
Default: –
Context:http,server,location


# 对于同一个客户端ip地址,所有的请求限制只允许在1s内发起一个
# $binary_remote_addr 和 remote_addr 区别在于 remote_addr要比binary_remote_addr多10个字节
limit_req_zone $binary_remote_addr zone=req_zone:1m rage=1r/s;

server{
	...
	location / {
	root /opt/app/code;
	limit_req zone=req_zone;
	# 客户端在超过指定速率后,遗留的3个后一秒执行,其他的直接返会503
	limit_req zone=req_zone burst=3 nodelay;
	...
	}
}

stub_status_module

展示Nginx的连接状态
Syntax:stub_status;
Default: -
Context:server,localtion

location /mystatus {
	stub_status;
}

random_index_module

Syntax:random_index on|off;
Default:random_index off;
Context:location

location / {
	random_index on;
}

sub_module

http内容替换
Syntax:sub_filter string replacement;
Default: –
Context:http,server,location

判断是否有更新 如果没有更新则返回原有的 主要用于缓存
Syntax:sub_filter_last_modified string replacement;
Default: sub_filter_last_modified off;
Context:http,server,location

on 只匹配第一个字符串并替换 off 全部匹配
Syntax:sub_filter_once on | off;
Default: sub_filter_once on;
Context:http,server,location

localtion / {
	# 将第一个 daichen 替换为 daichen okok
	sub_filter 'daichen daichen' 'daichen okok';
	# 将所有daichen 替换为 daichen okok
	sub_filter_once off; # 默认是on 改成off则开启全部匹配
}

第三方模块

发布了65 篇原创文章 · 获赞 3 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/web_orange/article/details/105004914